Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!helios!bcm!dimacs.rutgers.edu!seismo!uunet!zaphod.mps.ohio-state.edu!uwm.edu!ux1.cso.uiuc.edu!csrd.uiuc.edu!sp27.csrd.uiuc.edu!jaxon From: jaxon@sp27.csrd.uiuc.edu (Greg P. Jaxon) Newsgroups: comp.lang.apl Subject: Re: brackets Keywords: brackets indexing axis Message-ID: <1991Feb28.200918.6276@csrd.uiuc.edu> Date: 28 Feb 91 20:09:18 GMT References: <1991Feb23.234505.5960@csi.uottawa.ca> <1991Feb26.210503.2798@yrloc.ipsa.reuter.COM> <6697@idunno.Princeton.EDU> Sender: news@csrd.uiuc.edu (news) Organization: UIUC Center for Supercomputing Research and Development Lines: 15 > Brackets are anomalous in APL Indeed their effects on the object to their left are basically left up to that object. But I associated one semantic action with the OBJ to [ binding in APLB: The value of #IO to be used when interpreting the content of the brackets was picked up at this point. The limit on RANK was also applied here (if OBJ was data, ['s could have no more than RANK - 1 semicolons, if OBJ was not data, no semicolons, and value(s) in range for axis numbers (remember laminate?)) The binding of #IO allows an axis specifier to become part of a derived function and be used in a different #IO binding without changing the axis being specified. One advantage of "rank" is that axes aren't numbered, they are counted! Does J have a variable #IO, or have we finally been spared that disaster?