|
From: | Blake McBride |
Subject: | Re: [Bug-apl] Revisiting the APL 2 empty-array display behavior |
Date: | Wed, 28 May 2014 13:34:14 -0500 |
Now that I can see how printing '' as CR affects a larger program, I've
gotta say that I'm stumped as to how this behavior can be considered
usable.
Specifically, it's now (unless there's a trick I haven't yet discovered)
difficult (see below) to silently (i.e. without affecting the display)
execute an arbitrary _expression_ that may, depending upon the _expression_,
return either '' or nothing at all.
I dunno... maybe that's not something that anyone else has ever done.
But here's an extremely common idiom that breaks badly under the new
print behavior:
⍎test/'_expression_'
This is just a conditional execution of an _expression_. The problem with
the new print behavior is that this line will print a CR whenever the
test is false. Not OK...
If we're going to stick with this new behavior, I can adapt. I've even
discovered a (rather tortured-looking) solution to the use-case I posed
in the second paragraph:
∇sink v
⍝ Consume value; no display
∇
sink '0' ⎕ea ',⍎l'
On the other hand, it's surprising to me how this new behavior affects
so much else.
[Prev in Thread] | Current Thread | [Next in Thread] |