Thanks for pointing out that the problem is with cut(the result is
boxed with ];. and non-boxed input) not with take. I changed my
subject line to "bug in cut", instead of previous "strange behavior in
take".

I also appreciate your sharing opinions and elaboration on types,
equivalence and emptiness in J.


On Sun, Jan 17, 2010 at 2:38 AM, Dan Bron <[email protected]> wrote:
> I wrote:
>>  But a more convincing reason arises when we ask "if not 0,
>>  then what should  L.0$a:  produce?".  How deep is such an array?
>>  If that empty array is boxed, then we can say the depth is 1+ the
>>  depth of the boxed contents.  But what are the contents of the boxes
>>  that don't exist?  Do they, too, contain boxes that don't exist?
>
> Following onto this reasoning, I meant to ask the following question, but
> forgot:
>
>        If we had the luxury of breaking backwards compatibility, would  _
>       be a more desirable result for  L.0$a:  ?
>
> I don't think it would be.  For one thing, it would make testing for "real"
> boxed arrays more cumbersome; today we say  0<L.  but that wouldn't work if
> empty arrays with type boxed were considered infinity deep (we'd have to say
> (0&< *. _&>)@:L. or something).
>
> But, more importantly, I think it is important that J maintain consistency,
> so that as much as possible asking the same question in different ways
> results in the same answer.  If we are to consider all empty vectors
> equivalent (and I agree we should), then it is inconsistent to maintain that
> '' -: 0$a:  yet  '' ~:&L. 0$a:  .
>
> Also, I just realized today that, at least for sorting & grading, empty is
> considered its own "type" (on par with numeric, literal, symbolic, boxed,
> etc).  In the Vocab entry for  /:  [1] we read:
>
>        The types: numeric or empty, symbol, literal (1 byte or 2 byte
>        characters), and boxed, are so ordered
>
> The longer I spend studying J's design, and learning how it has anticipated
> and answered difficult questions, the more admiration I have for its
> designers.
>
> -Dan
>
> [1]  http://www.jsoftware.com/help/dictionary/d422.htm
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to