[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-apl] crash on each of empty
From: |
David B. Lamkins |
Subject: |
Re: [Bug-apl] crash on each of empty |
Date: |
Thu, 15 May 2014 09:49:46 -0700 |
Thank you. Confirmed working with the original test cases.
Pushing a bit further, I believe that the following behavior may still
be contrary to the IBM spec in SVN 268:
+¨''
┌⊖┐
│0│
└─┘
Here we have a numeric function passed an empty character. Transforming
this via the identity given previously, we get the equivalent
expression:
(⍴'')⍴⊂+↑''
DOMAIN ERROR
(⍴'')⍴⊂+↑''
^^
(I don't know whether there's a corresponding case for ⍬. Is there a
primitive monadic function that only accepts character arguments?)
On Thu, 2014-05-15 at 12:22 +0200, Juergen Sauermann wrote:
> Hi,
>
> thanks, hopefully fixed in SVN 268. Also the debug printouts.
>
> /// Jürgen
>
>
> On 05/14/2014 07:01 PM, David B. Lamkins wrote:
> > I think Elias is correct.
> >
> > >From the IBM manual, pg. 110 (check the source; I think I've transcribed
> > accurately, but make no guarantee):
> >
> > -- begin
> > Empty Argument: If R is empty, the function LO is not applied. Instead,
> > a related function called the fill function of LO is applied with
> > argument ↑R (the prototype of R). This result is used as a prototype of
> > the empty array of ρR .
> >
> > The identity is:
> > LO¨ ̈R ←→ (ρR)ρ⊂fill fn ↑R
> >
> > where:
> > LO Is any function for which a fill function is defined
> > fill fn Is its related fill function
> > -- end
> >
> > That'd mean:
> >
> > +¨⍬ ←→ ⍬
> > ,¨'' ←→ ''
> >
> > Also, in the case where a function is a defined function, its fill
> > function is the identity function. Therefore {⍵}¨'' and {⍵}¨⍬ should
> > behave according to these identities:
> >
> > (⍴'')⍴⊂{⍵}↑''
> > ┌⊖┐
> > │ │
> > └─┘
> > (⍴⍬)⍴⊂{⍵}↑⍬
> > ┌⊖┐
> > │0│
> > └─┘
> >
> > On Thu, 2014-05-15 at 00:14 +0800, Elias Mårtenson wrote:
> >> I tested this, and I'm wondering if the return value should really be
> >> 0? Wouldn't it make more sense to return ⍬?
> >>
> >>
> >> Regards,
> >> Elias
> >>
> >>
> >>
>
>