Talk:BitChanger

For two languages that take this project a couple of steps further, see JAB and IJAB at http://r.s.home.mindspring.com/F/ (near the bottom of the page).

JAB programs are strings on the alphabet {J,A,B}, with the correspondences 'A' <--> '>+' 'B' <--> '<' 'JA' <--> '[' 'JB' <--> ']'

IJAB programs are strings on the alphabet {0,1}, and the language is defined in a way analogous to the esoteric language Iota (but is of course imperative rather than functional), and its instructions have the correspondences '0' <--> 'J'  '10' <--> 'A'  '11' <--> 'B'  (Analogous to the '*' in Iota, the '1' in IJAB acts as a punctuation symbol.)

In both languages, the strings have to be syntactically correct in order to be programs.

--r.e.s. (r dot s at mindspring dot com)

While those are both effective ways of reducing the symbol cound, they don't reduce the command count, so they're no different than COW is to BF. --GregorR 16:41, 28 Jul 2005 (GMT)

memory mapped I/O
Is cell 5 automatically reset to 0 every time input or output is performed, or does it need to be reset manually? For instance, does the program  perform one or two inputs? --Koen (talk) 15:31, 6 October 2012 (UTC)


 * I think 0 inputs. BitChanger's pointer starts at cell 16, not 0 like Bool/Brainfuck Scheurneus (talk) 09:36, 31 March 2014 (EDT)

Unable to toggle cell 0
In BitChanger, @ is equivalent to <} but if the pointer is at cell 0 it cannot move left, so this is impossible. One possible solution is to change command set to { and > instead of < and }


 * AFAIK, what you say is not correct. @ is equivalent to }<, because } is the same as @> EDIT: You are correct! What I say ( } is @>) and what you say are both good solutions. However, I wonder if a lot of people will use cell 0 (it would still be Turing-complete without).Scheurneus (talk) 09:29, 31 March 2014 (EDT)