I'd like to add a CL-compatible syntax for simple multi-dimensional arrays to Chicken as part of an egg. Basically the syntax is #nA datum, where n is a digit-string representing the rank of the array. This is required because just looking at a datum of ((1 2 3) (4 5 6)) does not tell us whether this is a vector of two lists or a matrix of integers.
This can be done in Chicken using set-sharp-read-syntax! to control the interpretation of #0 through #9 (the procedure must read the rest of the digits, if any, and the datum by itself). That isn't extensible, though; it wouldn't allow someone to add #nR syntax to read numbers to the arbitrary base n. Furthermore, it collides with the interpreter's #n syntax meaning "the value of the nth evaluated form". What I'd like to see is a new set-parameterized-read-syntax procedure which takes a character c and allows the reader to accept input of the form #nc, where n is a digit string, and invoke a handler that takes two arguments, the port and the integer value of n. -- First known example of political correctness: John Cowan After Nurhachi had united all the other http://www.ccil.org/~cowan Jurchen tribes under the leadership of the [EMAIL PROTECTED] Manchus, his successor Abahai (1592-1643) issued an order that the name Jurchen should --S. Robert Ramsey, be banned, and from then on, they were all The Languages of China to be called Manchus. _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
