Hmm... First a tiny bit of philosophy, then a bit of my perspective:
Equivalencies, generally speaking, carry assumptions about relevant abstractions. For example, when we are counting, we are counting things which are the "same", but for them to be counted we require them to be different in some fashion.. 1 foot is not equivalent to 1 foot if they have different locations. That sort of thing. Philosophy aside, details matter, and these sorts of specifics are worth documenting somewhere. In most contexts these kinds of details are noise. And, this kind of thing tends to be version specific. Still, it might be worth constructing some experiments and documenting the results of those experiments? Thanks, -- Raul On Sat, Jan 22, 2022 at 3:00 AM Elijah Stone <[email protected]> wrote: > > It has been pointed out (f g h) y is not strictly equivalent to (f y) g (h y) > because it is not guaranteed that the right and left tines of a fork will > be applied in sequence. See also the recent thread 'can i trust `:0 to > always execute left to right?' > > Does the same caveat apply to & and &: (and &. and &.:)? > > The dictionary incorrectly claims that x u&v y ←→ (v x) u (v y). NuVoc > mentions this, but only points out the rank discrepancy (and NuVoc takes > pedagogic liberties anyway). Other NuVoc pages (including those for &. > and &.:) are silent regarding evaluation order. The dictionary says of &. > the same incorrect thing it says of &. > > It would be good to have documentation somewhere making explicit which > guarantees are provided regarding evaluation order (and which are not). > '(f g h) y ←→ (f y) g (h y)' was quietly scrubbed from early editions of > the dictionary (so I hear), but the motivation for preferring the > diagrammatic definitions was not included. And `:'s NuVoc page still does > not mention that evaluation order for `:0 is not guaranteed, even though > this _has_ caused confusion (e.g. forum thread referenced earlier). > > -E > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
