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 } --(this comment by 68.37.125.47 at 19:31, 14 June 2013 UTC; please sign your comments with ~~~~)
- 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)