By the way, I notice that if you type: * 'foo*
Then you get a SYNTAX ERROR which has )MORE information, but there is no plus sign after the error message. When typing *⍎"foo'"* you do get the + sign together with the SYNTAX ERROR. Regards, Elias On 20 May 2014 22:05, Elias Mårtenson <loke...@gmail.com> wrote: > Thank you. I really appreciate it. > > Regards, > Elias > > > On 20 May 2014 21:52, Juergen Sauermann <juergen.sauerm...@t-online.de>wrote: > >> Hi Blake, Elias, >> >> OK, I changed this in SVN 278. >> >> /// Jürgen >> >> >> >> On 05/20/2014 07:29 AM, Blake McBride wrote: >> >> I agree. I was surprised a couple of times when GNU APL automatically >> terminated a string. I don't remember APL automatically terminating >> strings. I think I'd rather see an error too. >> >> Just an opinion. >> >> Thanks. >> >> Blake >> >> >> >> On Tue, May 20, 2014 at 12:15 AM, Elias Mårtenson <loke...@gmail.com>wrote: >> >>> Hello Jürgen, >>> >>> I know that you consider parsing unterminated strings to be a feature, >>> but I would ask you to reconsider this. >>> >>> It is my personal opinion that this causes more opportunities for >>> confusion than potential benefits. I would like to share the latest such >>> problem that I came across: >>> >>> I was looking at how GNU APL was parsing complex numbers, and I typed >>> the following: >>> >>> >>> * ⍎'2J3" * >>> 2J3 >>> >>> Note how I had accidentally terminated the string using a double quote >>> instead of a single quote. This was a typo on my part. >>> >>> If unterminated strings had resulted in an error, as I am proposing, I >>> woul dhave gotten a SYNTAX ERROR (probably) and I my mistake would have >>> been clear. Instead, it looked almost correct. >>> >>> I did notice that there was a space preceding the complex number, so I >>> did this: >>> >>> * 8⎕CR ⍎'2J3"* >>> ┌→──────┐ >>> │2J3 ┌⊖┐│ >>> │ │ ││ >>> │ └─┘│ >>> └∊──────┘ >>> >>> OK, now I was really confused. It took a while for me to figure out >>> that I had actually been bitten by the unterminated array feature twice in >>> a single statement: First, the input was parsed by GNU APL as *⍎'2J3"'*. >>> Then, the lamp function interpreted its argument 2J3" as 2J3"", >>> yielding a two-element array consisting of a complex number and an empty >>> array. >>> >>> I think not giving an error in this case causes more confusion than >>> it's worth. >>> >>> Finally, when reading the evaluation sequence in section 6.1.1 of the >>> standard, I interpret that as this is required to signal syntax-error in >>> this situation. >>> >>> Regards, >>> Elias >>> >> >> >> >