BogusForth

[This project is no longer maintained]
For any question write to tbin@libero.it


What is bogusforth?

bogusforth (or bf, rigorously NOT capitalized, for friends) was an obfuscated language, based mainly upon forth (which is one of the smartest languages, created long ago by Charles Moore), false, by Wouter Van Oortmerssen, and TRUE, by Dewi; the latter two, in particular, share many things with bf.
Its development has ceased, since now I develop a simpler and yet more powerful language: owl. In any case, if I receive sufficient requests or intentions of collaboration upon this project, I will resurrect it.

Hello world!

The first and useless program one meets in his programming career is the notorious "hello, world!" clause. bf doesn't escape this point. Let's see how to write it in bf:

"Hello, world!"i.
Simple. The i prints the string, the dot prints a Carriage Return. To print a double quote, escape it with \; See:

"Hello, \"beautiful\" world! I'm gone..."i.

The Fibonacci numbers series

Let's see something more challenging. Here's a line (it's a line, yes), that calculates all the Fibonacci numbers available for a 32bit machine with long int:

"Fibonacci series"i..1 10j.1 1[%0>][%10j.%_ _+]#"Done!"i.)0q
Notice that quite half the line is occupied by two strings and by the closing commands. The j prints the first number (which is 1) in a 10 char field, then the while cycle (represented by the two sections enclosed in [] and by #) calculates the next number and prints it, in a 10 char field too (second function), provided that the last calculated number is not lesser than or equal to zero (first function). Remember that an overflow of a signed integer turns it into a negative one. Finally, the )0q sequence empties the stack and exits.

Documentation

Documentation for version 0.9.4 may be obtained (note: these documents are no longer updated):
          Earlier versions of the manual may be obtained here.

Download

Downloadable files:
previous versions

You can get previous versions (and every file on bf project) here (FTP transaction).

It's GPL! Enjoy!