I agree. I am more annoyed at myself for keep making the same mistake and then taking ages to work out what is wrong than with J :-).
2010/1/25 Dan Bron <[email protected]> > Matthew Brand wrote: > > the thing I hate most about J is... > > # $ '1' > > 0 > > # $ '12' > > 1 > > Yes, but I bet you don't hate, e.g. > > 3 * i. 4 4 > 0 3 6 9 > 12 15 18 21 > 24 27 30 33 > 36 39 42 45 > > So yes, that a single specified atom is a scalar is inconsistent with the > fact that multiple specified atoms are vectors, but it's > an incredibly useful inconsistency (think Perl here). I think I would be > caught out more if consistency were maintained and e.g. > 3 -: ,3 . Because then: > > 3 * i. 4 4 > |length error > | 3 *i.4 4 > > Ouch. And even if the consistency allowed me to remember this situation, > it would be a pain to always type {.3 where I would > type simply 3 today (esp. as that would often require parens). > > So, IMO, having to construct single-atom vectors is no worse than having to > construct multidimensional arrays, or boxed arrays, or > symbol arrays, or any other common thing that the native constant notation > doesn't support. And this particular case really isn't > too bad. Instead of > > > x =. ,:^:(0:=#@:$) x > > You could write x =: ,x . > > -Dan > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
