Michael Lazzaro writes: > OK, by my count -- after editing to reflect Larry's notes -- only a few > issues remain before the ops list can be completed. > > ---- > > 1) Need a definitive syntax for hypers, > ^[op] and «op» > have been most seriously proposed -- something that keeps a > bracketed syntax, but solves ambiguity issues. > > 2) Possible inclusion of unary prefix ^, meaning "complement". > (Assuming doesn't conflict with (1)) > > 3) Possible inclusion of "like"/"unlike" or similar as synonyms for ~~ > !~. Which we don't have to decide now. > > ---- > > All other op issues, by my count, revolve around the meanings of > specific hyperop constructs. There is one, overriding question with > the hyperops, which is the precise relation between an op, an > assignment op, and their (three!) hyperop equivs: > > A op B > A op= B > A ^[op] B > A ^[op=] B > A ^[op]= B > > If we can formalize the precise relationship between the three hypers > in the presence of scalar and list (and hash?) values for A and B, I > believe we can answer nearly all the hyperop questions definitively. > For example: > > @a ^[op] @b # array v array > $a ^[op] @b # scalar v array > @a ^[op] $b # array v scalar > $a ^[op] $b # scalar v scalar > > @a ^[op=] @b # array v array > $a ^[op=] @b # scalar v array > @a ^[op=] $b # array v scalar > $a ^[op=] $b # scalar v scalar > > @a ^[op]= @b # array v array > $a ^[op]= @b # scalar v array > @a ^[op]= $b # array v scalar > $a ^[op]= $b # scalar v scalar
and also this : %a ^[op]= @b # hash v array %a ^[op]= $b # hash v scalar %a ^[op]= %b # hash v hash @a ^[op]= %b # array v hash $a ^[op]= %b # scalar v hash > > Some of these are nonsensical, some of them aren't. So which are > which, and can someone demonstrate that the rule holds true for ALL > hyperoperators, as opposed to just MOST? ;-) > > MikeL > > > arcadi