Flutterby™! : Brainfuck

Next unread comment / Catchup all unread comments User Account Info | Logout | XML/Pilot/etc versions | Long version (with comments) | Weblog archives | Site Map | | Browse Topics

Brainfuck

2005-11-16 16:26:55.569438+01 by Dan Lyke 5 comments

The Brainfuck Programming Language:

Brainfuck is the ungodly creation of Urban M¨ller, whose goal was apparently to create a Turing-complete language for which he could write the smallest compiler ever, for the Amiga OS 2.0. His compiler was 240 bytes in size. (Though he improved upon this later -- he informed me at one point that he had managed to bring it under 200 bytes.)

[ related topics: Invention and Design Software Engineering ]

comments in ascending chronological order (reverse):

#Comment Re: made: 2005-11-16 17:52:31.622953+01 by: topspin

++++++++++++++ [>++++++>+++++++>++++++++>+++++++++>++>++++<<<<<<-] >+++. >++++++. -------. >>----------. >++++. <. <<+++++++. ---. >>>. <<<+. >>+. <<---. >-----. >>>+++++++.

#Comment Re: made: 2005-11-16 22:12:30.891946+01 by: meuon

I'm currently doing DDE calls in ActiveStatePerl on Winders, and writing an accounting system in PHP and MySQL... and just looking at Brainfuck makes my head hurt... hurt.. hurt.. Appropriate name.

#Comment Re: made: 2005-11-17 17:33:35.241548+01 by: ebwolf

I would like to see a BrainFuck compiler written entirely in BrainFuck. That would be cool!

#Comment Re: made: 2005-11-17 18:14:42.324407+01 by: mvandewettering

I used this as a .signature file for a while:

(hope it survives the html mangling...)

#define P(C,X)case C:printf(#X);break; /* bftoc.c by markv@pixar.com */
main(){int c;printf("char a[9999];main(){char*p=a;");while((c=getchar())>=0)
{switch(c){P(62,p++;)P(60,p--;)P(43,++*p;)P(45,--*p;)P(46,putchar(*p);)P(44,
*p=getchar();)P(91,while(*p){)P(93,});}}printf("exit(0);}");exit(0);}

#Comment Re: made: 2005-11-17 18:17:40.339592+01 by: mvandewettering

That seems to have worked, so along the same lines:

>+++++++++[-<++++++++++++>]<+.>++[-<------>]<.>++++[-<++++>]<+.-------.++++++++
+++.>++++++[-<--------->]<.>++++++[-<++++++++>]<.-------.>+++[-<+++++>]<.>++++[
-<------>]<+.>++++[-<++++>]<+.>++++++++[-<-------->]<----.>+++++++[-<+++++++>]<
++++.>++++[-<+++>]<.--.>+++++++++[-<----------->]< my brainf*ck .signature

Comment policy

We will not edit your comments. However, we may delete your comments, or cause them to be hidden behind another link, if we feel they detract from the conversation. Commercial plugs are fine, if they are relevant to the conversation, and if you don't try to pretend to be a consumer. Annoying endorsements will be deleted if you're lucky, if you're not a whole bunch of people smarter and more articulate than you will ridicule you, and we will leave such ridicule in place.


Flutterby™ is a trademark claimed by

Dan Lyke
for the web publications at www.flutterby.com and www.flutterby.net.