Path: utzoo!censor!geac!torsqnt!tmsoft!itcyyz!yrloc!hui From: hui@yrloc.ipsa.reuter.COM (Roger Hui) Newsgroups: comp.lang.apl Subject: Re: what makes the atomic rep so special? Message-ID: <1991Mar2.053538.4782@yrloc.ipsa.reuter.COM> Date: 2 Mar 91 05:35:38 GMT References: Reply-To: hui@yrloc.ipsa.reuter.COM (Roger Hui) Distribution: comp.lang.apl Organization: Iverson Software Inc., Toronto Lines: 33 Hello Michael. Sorry about your hair. To get immediately to the point: The "id" parts of the representation must be the string ,'0', whereas you were using numeric vector 0. i.e. the verb build_ar should be build_ar=. 'x.$: i.0' : '<''::''; <(<(,''0'');x.), <(,''0'');y.' The id part of atomic representations are always strings, ('::', '+', etc.), and representations of nouns are no exception. Atomic representations returned by 5!:1 have no hidden attributes, and can be constructed by other means, as in your msg. For the purpose you had in mind, an emacs editor for a ::-defined verb, there is another (easier) approach. One can use 5!:2 (display representation) to get the monadic and dyadic defns, and :: to reconstitute the edited results. For example, dr =. 5!:2 t =. dr <'goo' mg =. >0{t dg =. >1{t x =. mg emacs dg mg =. massage0 x dg =. massage1 x goo =. mg :: dg Atomic representation (5!:0) is designed for automatic manipulations, e.g. the basis for gerundial forms. It is somewhat of an internal representation and is subject to change. Roger Hui Iverson Software Inc. 33 Major Street Toronto, Ontario M5S 2K9 (416) 925 6096