[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: |
Wed, 14 May 2014 10:01:43 -0700 |
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
>
>
> On 15 May 2014 00:02, Juergen Sauermann
> <address@hidden> wrote:
> Hi David,
>
> thanks, fixed in SVN 266.
>
> /// Jürgen
>
>
>
> On 05/14/2014 01:56 AM, David B. Lamkins wrote:
> SVN Revision: 264
>
>
>
> {⍵}¨''
>
>
> ====================================================
> SEGMENTATION FAULT
>
> ----------------------------------------
> -- Stack trace at main.cc:122
> ----------------------------------------
> 0x7f97fe168d65 __libc_start_main
> 0x43557d main
> 0x52627d Workspace::immediate_execution(bool)
> 0x46418d Command::process_line()
> 0x46306f Command::process_line(UCS_string&)
> 0x44871e Bif_OPER1_EACH::eoc_LB(Token&, EOC_arg&)
> 0x45acc4 Cell::init_from_value(Value_P, char
> const*)
> 0x45ab29 Cell::init(Cell const&)
> 0x7f97ffe2a750
> 0x47cf8a
> ========================================
> ====================================================
>
> Process apl segmentation fault (core dumped)
>
>
>
>
>
>
> and
>
>
>
>
>
> {⍵}¨⍬
>
>
> ====================================================
> SEGMENTATION FAULT
>
> ----------------------------------------
> -- Stack trace at main.cc:122
> ----------------------------------------
> 0x7fa662bb1d65 __libc_start_main
> 0x43557d main
> 0x52627d Workspace::immediate_execution(bool)
> 0x46418d Command::process_line()
> 0x46306f Command::process_line(UCS_string&)
> 0x44871e Bif_OPER1_EACH::eoc_LB(Token&, EOC_arg&)
> 0x45acc4 Cell::init_from_value(Value_P, char
> const*)
> 0x45ab09 Cell::init(Cell const&)
> 0x7fa664873750
> 0x47cf8a
> ========================================
> ====================================================
>
> Process apl segmentation fault (core dumped)
>
>
>
>
>
>
>
>
>