BOOL, which stands for Basic Object-Oriented Language, is a toy computer language I’ve been tweaking and whittling away at for over 20 years. It’s my “ship in the bottle,” my “giant model train set.”
BOOL borrows beloved bits and pieces from many other programming languages. It’s me taking all the programming language things I love, throwing them in a blender and creating a programming puree. Or one might view it as Frankenstein’s monster, a freak show cobbled together from things I dug up.
BOOL, therefore, is… unique, and that was one of its goals.
BOOL is a fully object-oriented language. It object-oriented at the programming level, and it is object-oriented down to its core. Not only are sub-routines and data structures objects, but each statement in BOOL is an object!
BOOL uses a message-passing paradigm. You send Message objects to other objects (including other Message objects) to get value objects back or to invoke behaviors. For example, you send a “print:” Message to a string to print it, and you send an “add:” Message to a number to add it to some other number and get a sum.
BOOL is structured such that expressions are pre-fix, so no parentheses are needed.