home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.apl
- Path: sparky!uunet!ukma!darwin.sura.net!newsserver.jvnc.net!phage!wchang
- From: wchang@phage.cshl.org (William Chang in Marr Lab - CSHL)
- Subject: APL?! (APL who bang)
- Message-ID: <C1Gx6E.1xo@phage.cshl.org>
- Organization: Cold Spring Harbor Lab, Long Is New York
- References: <1993Jan21.160604.7887@lth.se> <1993Jan23.100553.21973@lth.se> <C1Gwxn.1q9@phage.cshl.org>
- Date: Tue, 26 Jan 1993 15:47:01 GMT
- Lines: 50
-
- APL?! DRAFT 30 March 1992
-
- A quick summary. The most commonly used APL operations are given symbols.
- There are few symbol combinations. Keywords are named after functions
- instead of glyphs because glyph names are more verbose and less standard.
- Ambivalent APL symbols are given the dyadic function name, because it is
- not always possible to distinguish (automatically) between monadic and
- dyadic use--better to stick to the dyadic name uniformly. Luckily, the
- less intuitive times-sign, modulo-magnitude have symbols instead of keywords.
- As for user names conflicting with keywords, I suggest using the opposite
- case for keywords.
-
-
- ? rho [looks a bit like rho; query an array for its shape]
- ! iota [upside-down i; factorial is product of 1 2 3 ... n]
- ^ take [head; looks like up-arrow]
- ~ drop [tail; array less head]
- # execute [convert to number]
- $ format [convert to string]
- = < > ~= <= >= comparisons
- + - * % | arithmetic (plus minus times divide modulo)
- / reduce and compress; \ scan and expand
- /[!1] \[!1] along leading axis [/-minus and \-minus are unnecessary]
- .f. outer-product
- f.g inner-product
-
- not and or nand nor power log [keywords]
- rotate [reverse is rotate by 180 degrees]
- rotate[!1] along leading axis [circle-minus is unnecessary]
- transpose member up down encode decode choose solve deal circle [keywords]
-
- -> goto; <- gets [so A< -B must be written with a space]
- <> separator; o} comment
- @ quad; "@ quote-quad; & delta; _& underscore-delta
- _number (negative constant); "name (glyph name for I/O purposes)
-
-
- I hope this is a relatively straight forward solution, to the problem
- of transliterating (most of) ISO APL. Whether or not anyone will use
- it is another matter. Although I personally think APL/! is more
- consistent and economical in terms of design, I do not necessarily
- prefer it. In any case, I got no converts :-)
-
- I would like to thank everyone who has contributed to the discussion.
- Further suggestions are also welcome!
-
-
- -- Bill Chang (wchang@cshl.org) Cold Spring Harbor Lab., NY
-
- p.s. How should one pronounce ?!
-