Newsgroups: comp.lang.apl
Path: watmath!watserv1!utgpu!cs.utexas.edu!sdd.hp.com!wupost!darwin.sura.net!jvnc.net!phage!wchang
From: wchang@cshl.org (Bill Chang)
Subject: Re: Expressiveness of Language
Message-ID: <1992Mar27.150911.2466@cshl.org>
Summary: Index Origin
Sender: news@cshl.org (NO MAIL)
Organization: Cold Spring Harbor Laboratory
References: <1992Mar25.190531.8508@yrloc.ipsa.reuter.COM>
Date: Fri, 27 Mar 92 15:09:11 GMT
Lines: 17

In article <1992Mar25.190531.8508@yrloc.ipsa.reuter.COM> dgil@ipsaint.ipsa.reuter.COM 
(Gillett, David) writes:
>     There is a discontinuity in APL between the units used by take/drop, which
>do not depend on the origin, and the units used by indexing, which does.  J's
>scheme unifies these, resulting in merge/select semantics which are both
>simpler, in that they are more unified, and more powerful, in that they are
>more general.  A fixed index origin of zero seems, to me, a small price to pay.

Could you describe merge/select for those of us who don't yet know J?  Thanks.

-- Bill Chang (wchang@cshl.org)          Cold Spring Harbor Lab., NY

p.s. I prefer origin zero, for "theoretical" reasons but also because I can 
ignore the - in  ->LABEL-iCOND , but not the x in  ->LABELxiCOND  (i is iota,
to be read "IF"; x is times).  Also  ->iCOND  is conditional exit in origin 0. 
Now with C being prevalent, origin zero seems obvious, but back then it was
counter-intuitive for a lot of people.
