On Fri, 3 Mar 2017 20:45:45 +0100 Juergen Sauermann <juergen.sauerm...@t-online.de> wrote:
> Hi, > what is the reason? do you know their reasoning cause 1 is 1 element and 1 2 3 is 3 elements so ⍴ 1 2 3 is 3 and ⍴ 1 should have been 1 I never understood their reasoning or how it negatively affected anything else - it must have been in the implementation that they had couldn't apply vector/array code to just one element so they did it this way i think like the char type vs array type but you can have an array of 1 element (in c and fpc anyway) > I believe the reason why 'a' is scalar and 'abc' is not is the same as why 1 > is a scalar and 1 2 3 is not. > > It is very consistent, but often very inconvenient. And in practice it is > often a pitfall for the unaware programmer. > I fooled myself a couple of times and then decided to introduce "a" which > avoids the problems with 'a'. > > Before "a" you had to (,'a') or ,'a' if circumstances allowed (introducing > other traps, of course). > > /// Jürgen > > > On 03/03/2017 06:57 PM, enz...@gmx.com wrote: > thank you - fantastic ...it sure 'fixes' the inconsistency i had no idea > about "a" > > I saw the use of " only in the FILE_IO "r" in the apl.html but thought > that was related to just fopen/bash/c syntax > > --- > > Do you know the 'details' about why iverson did this to begin with? > > How did you deal with scalar 'a' before the "a" in gnuap? > > didn't you have 'wasted code' to deal with the following to deal with > scalar 'a' > > ⍴'a' > > ''=⍴'a' > > ⍴⍴'a' > 0 > > --- > > the video in case you hadn't seen it > > # APL 1991 Conference.mpg 1 hour, 50 minutes > https://www.youtube.com/watch?v=uZOZYYPmUnM > > --- > > On Sat, 4 Mar 2017 01:37:18 +0800 > Elias Mårtenson <loke...@gmail.com> wrote: > > In GNU APL, try this instead : > > "a"[1] > > The reason this seems inconsistent is because single quote is used to > define a string, i.e. an array of characters. Except the case where there > is only a single character, in which case it represents a scalar > character. > > GNU APL allows you to use double quote instead which doesn't have this > inconsistency. > > That should make things a bit more clear, I hope. > > Regards, > Elias > > On 4 Mar 2017 01:29, <enz...@gmx.com> wrote: > > > i just watched a great video on apl and this was discussed i still > don't know what the harm/problem would be if instead of returning 'nothing' > > ⍴'a' why doesn't it return 1 - there is something > there please don't mention scalar i know all about it - but to me this > has always been an inconsistency in apl that made no sense to me > > ⍴'aa' the , isn't required in ⍴,'aa' to be > consistent ?? > 2 > ⍴,'a' > 1 > > > 'a'[1] > RANK ERROR > 'a'[1] > ^ ^ > 'ab'[1] > a > (,'a')[1] > a > > > > under what condition would 'a'[1] returning 'a' be a problem? > > > > >