dgary@ecsvax.UUCP (D Gary Grady) (05/16/86)
I've been playing lately with the Nested Interactive Array Language NIAL (pronounced "kneel"). It allows arrays to contain other arrays of arbitrary type and dimensionality. It uses the normal ASCII character set and has about a billion reserved words. It also has the structural features missing from APL. (Anyone who thinks APL primitives in clever combinations are all-powerful is invited to write a program to compute a determinant in apl. And don't try to weasel out by insisting determinants are a Bad Thing.) The version I'm using (Q'Nial on an IBM PC) cleverly displays the structure of arrays by means of boxes drawn with the IBM extended character set. Using conventional ASCII, this means that if I type in the statement ("Tom 17)("Dick 9)("Harry 44) I see something like this: +-------------------+-----------------+--------------------+ | +---------+-----+ | +---------+---+ | +----------+-----+ | | | Tom | 17 | | | Dick | 9 | | | Harry | 44 | | | +---------+-----+ | +---------+---+ | +----------+-----+ | +-------------------|-----------------+--------------------+ Here's a Nial program: fibonacci IS OPERATION N { Fiblist get 0 1 ; WHILE last Fiblist < N DO (last Fiblist + last front Fiblist); ENDWHILE ; front Fiblist } Yes, it does look like an unholy union of APL, Lisp, and C. And that's not a bad description. I like the structured programming constructs and the ability to apply operators to even user-defined functions ("transformers" to user-defined "operators" in Nial terminology). I don't like the long list of reserved words (worse than Cobol), the confusing rules about how deeply into a structure an operator reaches, the equally confusing rules on precedence of monadic and dyadic operators (and the fact that ALL operators can be used in monadic or dyadic form; that is, + 1 2 is the same as 1 + 2!). Nial exists mainly as an expression of the nested rectangular array theory of Trenchard More. I don't know that it's of much value as a practical language right now, but there is some promise for the future. If you'd like more information try writing Nial Systems Limited, 20 Hatter St, Kingston, Ontario K7M 2L5. I'm not connected with them. -- D Gary Grady Duke U Comp Center, Durham, NC 27706 (919) 684-3695 USENET: {seismo,decvax,ihnp4,akgua,etc.}!mcnc!ecsvax!dgary