BOOL is a language of a fevered imagination—the result of years of tinkering, infrequent bursts of activity and long dry spells. BOOL is at least 20 years in the making, and it has been through many versions and variations. It’s like a model train project I’ve been working on in my spare time for many years!
It was never intended as a serious language, so developing the spec and the supporting software (for what is a language spec without at least one compiler?) has never been a serious project. Still, this one never went away, and getting it into the light of day after all this time seems only right and just.
The name, BOOL, has four references:
- The name stands for Basic Object-Oriented Language.
- The letters form an anagram that makes a pronounceable word. This mimics the case of another language, BASIC. (It’s a double reference actually, since BOOL’s first word is “Basic”.)
- The name is a reference to the Boolean data type.
- There is a somewhat obscure reference to BCPL (four letters, starts with a “B”, ends with an “L”), an ancient ancestor language of C.
BOOL is a labor of love. It is not intended to be a serious programming language, but as a kind of work of art. That is not to say it’s a good work of art, just that it’s a work of art. Therefore, you should judge it for its appearance more than for its utility. Think of it as a sculpture, not an ideal computer programming language.
The connection to the programming language, BASIC, is deliberate, since—if BOOL has any value at all—it would be for teaching, illustrating principles or fooling around. Exactly like BASIC (which was first intended as a teaching language).
The reference to BCPL is important in two ways. It highlights BOOL’s complete unsuitability as a useful language, but it also pushes it away from BASIC toward C, the grandfather of many modern languages. (The “B” in BCPL also stands for “Basic”!)
That the name is also a common data type is just a bit of fun icing on the cake.