Tag Archives: arity
I recently determined to use a trailing marker — a semicolon — to close the list of arguments due a Message. But after using it for a while, I’ve decided that this:
. set:x add: mul:a b; div:c d; ;;
Is butt-ugly and has to change. Since I still think registering Message arity is an even worse option, I’ve had to take the only other real option: assuming Message arity.
There is another long-standing knotty BOOL issue that I’ve recently resolved. It has to do with the arity of functions. The original syntax of BOOL assumes the compiler knows how many arguments go along with any given Message. There is always at least one argument, the target object of the Message.
The problem is that how many other objects are involved depends on the the Message. For example, an
add: Message has its target and one other object (as do nearly all math, relational and logical operators). But some Messages,
sqrt: for example, only have their target.
The compiler needs to know this to build the Message properly!