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 <address@hidden>
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
<address@hidden>
> 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
> >
> >
>
>
>
>