home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / lang / apl / 1387 < prev    next >
Encoding:
Text File  |  1993-01-27  |  2.5 KB  |  61 lines

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