The sad thing is how tempted I was to see if the interpreter works.
- What is Whitespace?
-
Most modern programming languages do not consider white space characters (spaces, tabs and newlines) syntax, ignoring them, as if they weren't there. We consider this to be a gross injustice to these perfectly friendly members of the character set. Should they be ignored, just because they are invisible? Whitespace is a language that seeks to redress the balance. Any non whitespace characters are ignored; only spaces, tabs and newlines are considered syntax.
- What are the advantages of Whitespace?
-
Some things which are difficult in other languages are made much easier in Whitespace. For example, literate programming is simply a matter of writing your helpful comments in between program instructions. It's also easy to encrypt your programs. Simply write a misleading comment!
Whitespace is a particularly useful language for spies. Imagine you have a top secret program that you don't want anyone to see. What do you do? Simply print it out and delete the file, ready to type in at a later date. Nobody will know that your blank piece of paper is actually vital computer code!
- What does a typical Whitespace program look like?
-
Below is an extract from a program which asks for a name then outputs it (see here for the full script.
- Where can I get it?
-
There is a prototype Whitespace interpreter available on this site, go to this page to download it. The source code is written in Haskell, or you can get a Linux binary. You can also read a tutorial.