Perhaps the number of lines displayed is equal to the size of the last
dimension?

Regards,
Elias


On 28 May 2014 10:23, David B. Lamkins <dlamk...@gmail.com> wrote:

> Clearly, I can use something like this:
>
> ∇sink v
>  ⍝ Consume value; no display
> ∇
>
> ... which I'll gladly use in place of 0⍴.
>
> However, I found this in IBM's "An Introduction to APL 2":
>
> "24. The display of an empty array having rank greater than one may use
> zero lines, or may extend to multiple lines."
>
> That seems ambiguous... I can understand the case for an array of rank N
> displaying N consecutive CRs. That's consistent with your observation in
> which '', an empty array of rank 1, displays one CR. But what's the case
> in which APL 2 (maybe) displays zero lines for an empty array of rank
> greater than one...?
>
> Again: I'm just looking for an expressed definition... I have no
> argument with IBM's APL 2 showing a particular behavior; I just want to
> read the part of the spec that calls for that behavior.
>
>
> On Tue, 2014-05-27 at 14:37 -0700, David B. Lamkins wrote:
> > On Tue, 2014-05-27 at 15:19 -0500, Blake McBride wrote:
> > > Dear David,
> > >
> > >
> > > First, I assure you, this is how it works.
> >
> > I'm certainly not arguing the fact that this is the behavior you've seen
> > in other implementations.
> >
> > I'm simply trying to reconcile the behavior you describe in light of my
> > long-ago experiences with APL 1 systems. If you take a look at the
> > FinnAPL Idiom list (which predates APL 2), they describe the 0⍴<value>
> > idiom for display suppression.
> >
> > What I'd really like to see is something in either the IBM Reference
> > Manual or in the ISO Standard that support your assertion. I've been
> > unable to find either support or refutation in those references.
> >
> > >
> > >
> > > I do know of a 0⍴<value> idiom for branching and for nullifying a
> > > prior value in a subsequent assignment.  I am unaware of any need for
> > > that idiom to prevent printing.  Can you give me one example in a
> > > function?
> >
> > Well, sure. This idiom is useful any time I'd like to evaluate a
> > value-returning function for its side effect(s) without also printing
> > the result of the function...
> >
> >
> > >
> > >
> > > Thanks.
> > >
> > >
> > > Blake
> > >
> > >
> > >
> > >
> > > On Tue, May 27, 2014 at 2:32 PM, David B. Lamkins <dlamk...@gmail.com>
> > > wrote:
> > >         I find this confusing and counterintuitive.
> > >
> > >         If displaying an empty vector causes the interpreter to emit a
> > >         CR, what
> > >         then becomes of the 0⍴<value> idiom commonly used to suppress
> > >         display of
> > >         <value>? Wouldn't your output be littered with spurious CRs
> > >         every time
> > >         your program executed such a line?
> > >
> > >         I spent a half-hour digging through the IBM and ISO
> > >         references, finding
> > >         nothing on the subject of display of empty vectors.
> > >
> > >         On Tue, 2014-05-27 at 13:04 -0500, Blake McBride wrote:
> > >         > a.  Neither an empty vector nor a vector of multiple
> > >         elements has a CR
> > >         > in it.  The system prints the vector, and then prints a CR.
> > >          CR gets
> > >         > printed either way.
> > >         >
> > >         >
> > >         > b.  I found all these errors while porting my production
> > >         code which
> > >         > ran consistently over IBM APL and several other APL's.  They
> > >         all print
> > >         > a blank line.
> > >         >
> > >         >
> > >         > On Tue, May 27, 2014 at 12:57 PM, David B. Lamkins
> > >         <da...@lamkins.net>
> > >         > wrote:
> > >         >         How is that so? '' is an empty vector.
> > >         >
> > >         >         On Mon, 2014-05-26 at 20:30 -0500, Blake McBride
> > >         wrote:
> > >         >         >       ∇test
> > >         >         > [1] '1'
> > >         >         > [2] ' '
> > >         >         > [3] '2'
> > >         >         > [4] ''
> > >         >         > [5] '3'
> > >         >         > [6] ∇
> > >         >         >       test
> > >         >         > 1
> > >         >         >
> > >         >         > 2
> > >         >         > 3
> > >         >         >
> > >         >         >
> > >         >         >
> > >         >         >
> > >         >         > There should be a blank line between 2 and 3.
> > >         >         >
> > >         >         >
> > >         >         > Thanks.
> > >         >         >
> > >         >         >
> > >         >         > Blake
> > >         >         >
> > >         >         >
> > >         >
> > >         >
> > >         >
> > >         >
> > >
> > >
> > >
> > >
> > >
> >
> >
>
>
>
>

Reply via email to