Comments
Loading Dream Comments...
You must be logged in to write a comment - Log In
Artist
Or rather, "f A (B)" problem. Recall in the previous description ($6B) we enumerated various threesomes of operator and operands. There is an exception in the case where the second term is a dataname, since the parse tree differs between whether it is a variable or a function. However since a function requires parenthesized parameters to follow it, we can make the assumption that "f A (B)" where B is parenthesized, is likely to imply that A is a function, and thus emit the tree "(f, A, (B))" rather than "((f, A), (B))". If at runtime we find that A is in fact just a variable or constant, i.e. an actual parameter to "f", we proceed to process (B) separately, as a Buf. The whole problem arises because we have chosen to implement ::ILA:: as a dynamic interpretive language, where datanames can interchangeably refer to data structures (Bufs) or functions (lambdas), á la APL or LISP as opposed to Pascal or COBOL.