False Language

A very concise EsotericProgrammingLanguage, both in form and in implementation (<1k bytes of 68k assembly), one of the zillions of languages designed by WouterVanOortmerssen. False is like ForthLanguage with one-character commands but with control structures replaced by quoted code blocks (first-class command sequences). See it at: http://wouter.fov120.com/false/index.html

It looks like it's more powerful than most esoteric languages.

From the web page:

 { factorial program in false! }

[$1=$[\%1\]?~[$1-f;!*]?]f: { The function itself }

"calculate the factorial of [1..8]: " ß^ß'0-$$0>~\8>|$ "result: " ~[\f;!.]? ["illegal input!"]?" "

{ loop demo } "Factorials of [8..1]: " 9[1-$][$f;!.' ,]#%" "

{ print primes up to 100 } 99 9[1-$][\$@$@$@$@\/*=[1-$$[%\1-$@]?0=[\$.' ,\]?]?]#

I prefer a dialect which has OVER (^) and /MOD (/) from Forth, and where ? takes both if and else blocks. The primes example then becomes:
 99 9[1-$][^^/%[][1-$[%1-$][^.]?]?]#
or far more efficiently:
 99 3[^^>][^^/^>[[2+][%2-3]?][%^.%2-3]?]#.2.%
Try it out in a JavaScript interpreter for both variants of False that runs in a web page: http://www.quirkster.com/js/false-js.html. -- IanOsgood

Skeleton key showing equivalent Forth and (stack before -- stack after): Very nice summary, thanks. You're welcome! -- IanOsgood

I've recently been messing with dc [DeeCee], and False is quite a bit like it, but False is more useful and less esoteric as a programming language... -- JesseMillikan


View edit of September 2, 2009 or FindPage with title or text search