I just downloaded and installed IBM APL2 on my Windows box. '' prints a blank line as I have been stating.
On Tue, May 27, 2014 at 3:32 PM, Blake McBride <blake1...@gmail.com> wrote: > I don't know why it would be hard to rationalize. Here is your algorithm: > > if (printable value) { > print value > print cr > } > > Here is the algorithm used by all APL's I've used: > > if (printable value) { > print value > } > Print cr > > > The advantage of the second algorithm is that if you are printing several > values, you can see which is missing. Using your algorithm, null values > don't get any display and you can get out of sync with regard to what was > printed and which were null. Clearly the second is better. > > I challenge you, as I did in my last email, to show one instance in which > a function would have '' but not want it to print. > > Blake > > > > > > On Tue, May 27, 2014 at 3:19 PM, Blake McBride <blake1...@gmail.com>wrote: > >> Dear David, >> >> First, I assure you, this is how it works. >> >> 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? >> >> 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 >>> > > >>> > > >>> > >>> > >>> > >>> > >>> >>> >>> >> >