False Language

last modified: September 2, 2009

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


CategoryProgrammingLanguage


Loading...