Talk:Brainscrambler

Implementation
I've written a brainscrambler interpreter in c++. It's as compliant as possible, but as the specs are a little undetailed, I've a few questions: Ideas? Thoughts? Advices? Perhaps I should create the specs for a new brainfuck variant, given all the modifies I've done. Still, I'd like some help to create a perfectly compliant brainscrambler interpreter, which would switch the language from unimplemented to implemented. I'll put the source of the interpreter when pastebin goes up again. --Nerowolfe 06:44, 10 July 2008 (UTC)
 * Should the move command behave like in asm (MOV), where it copies a value, instead of moving it? If this is the case, an actual move could be written as >^, whereas, in the other way, a copy cannot be simulated. So, for now, the move command copies the current number replacing the topmost item on the prev/next stack. Or perhaps it should move/copy the current number ONTO the prev/next stack, without replacing the topmost item?
 * How big should the basic data unit be? For my implementation, I've chosen a signed int, which in my system is 4 bytes long, and can be lower than -1.
 * How should the input behave when an EOF occurs? As of now, I've done no checking, so the scanf puts an 1 onto the stack.
 * Should a duplicate current number and put onto the current stack command be supported?
 * Or rotate commands for both directions?
 * I've also implemented a print as character command ( : ) which wraps the current number into an unsigned char and prints it (like the brainfuck output command).
 * "Move" to me suggests removing the initial values. Copying can still be done using a loop, as in normal Brainfuck.
 * It should go up to at least 255 in my opinion, but nothing wrong with allowing higher numbers.
 * I think a language that explicitly allows -1 but not lower numbers should probably have -1 = EOF.
 * The other ideas are fine extensions, but make the language a bit more usable and a bit less minimal; it's up to you whether this is a good idea as an extension to your interpreter. I think there should probably be a command-line switch or something similar to disable the extensions. --ais523 18:52, 10 July 2008 (UTC)
 * Thank you for the advices, they make very good sense. Here's the source for now: http://pastebin.com/f59963dbe . It requires libboost-program-options (but the command-line parameter parsing can be easily commented out). I'll make the modifies you say when my new pc arrives. Thanks again... -- Nerowolfe 23:55, 10 July 2008 (UTC)

Date
We've had two different years for the language given without explanation, 2004 and 2006. Is there any evidence around for which is the correct one? --ais523 21:54, 4 February 2011 (UTC)

Sorry for the unattributed change to the date. 2004 is indeed correct, which I can confirm as I'm the original creator of the language :) Feel free to email cody.brocious@gmail.com to confirm.  I came up with the initial language spec while sitting in English class in High School in late 2004.