Hi again,
I believe you must first define a function, then define another
function as the first (in an incorrect way, look at the example).
The second fun works, as long as you don't try to edit it using
∇ (for example ∇G[⎕]∇).
After a few edits GNU APL crashes:
F←{(+⌿⍵)÷≢⍵}
G←F
G 3 4 5
4
∇G[⎕]∇
∇
[0] λ←F ⍵
[1] λ←(+⌿⍵)÷≢⍵
∇
G 3 4 5
==============================================================================
Assertion failed: get_ValueType() == TV_FUN
in Function: Token
in file: ./Token.hh:63
Call stack:
----------------------------------------
-- Stack trace at ./Token.hh:63
----------------------------------------
0xa @@@@
0xa @@@@
0xa @@@@
0xa @@@@
0xa @@@@
0xa @@@@
0xa @@@@
0xa @@@@
0xa @@@@
========================================
SI stack:
Depth: 0
Exec: 0x7f9a585137b0
Safe ex: no
Pmode: ◊ G 3 4 5
PC: 1 'G
Stat: G 3 4 5
err_code: 0x0
thrown: at StateIndicator.cc:40
e_msg_1: 'No Error'
e_msg_2: ''
e_msg_3: ''
==============================================================================
G 3 4 5
==============================================================================
Assertion failed: get_ValueType() == TV_FUN
in Function: Token
in file: ./Token.hh:63
Call stack:
----------------------------------------
-- Stack trace at ./Token.hh:63
----------------------------------------
0xa @@@@
0xa @@@@
0xa @@@@
0xa @@@@
0xa @@@@
0xa @@@@
0xa @@@@
0xa @@@@
0xa @@@@
========================================
SI stack:
Depth: 1
Exec: 0x7f9a58400200
Safe ex: no
Pmode: ◊ G 3 4 5
PC: 1 'G
Stat: G 3 4 5
err_code: 0x0
thrown: at StateIndicator.cc:40
e_msg_1: 'No Error'
e_msg_2: ''
e_msg_3: ''
Depth: 0
Exec: 0x7f9a585137b0
Safe ex: no
Pmode: ◊ G 3 4 5
PC: 1 'G
Stat: G 3 4 5
err_code: 0xA01
thrown: at ./Token.hh:63
e_msg_1: 'Assertion failed'
e_msg_2: ''
e_msg_3: ''
==============================================================================
∇G[⎕]∇
====================================================
SEGMENTATION FAULT
----------------------------------------
-- Stack trace at main.cc:63
----------------------------------------
0xa @@@@
0xa @@@@
0xa @@@@
0xa @@@@
0xa @@@@
0xa @@@@
0x0 @@@@
0x0 @@@@
0xa @@@@
========================================
====================================================
Goodbye.
Louis
> On 19 May 2016, at 15:41, Juergen Sauermann <[email protected]>
> wrote:
>
> Hi Louis,
>
> for this (and the next) error report I would need more information
> about how to reproduce it.
>
> /// Jürgen
>
>
> On 05/19/2016 01:12 AM, Louis de Forcrand wrote:
>> E2←E
>> E2
>> SYNTAX ERROR
>> E2
>> ^
>> →
>> ∇E2[⎕]∇
>> ∇
>> [0] λ←E ⍵
>> [1] λ←+/,⍤¯1⊃,/(⊂T)×(1⌽[2]T)(1⌽T←¯1+2×⍵)
>> ∇
>>
>>
>> E2 t
>>
>> ==============================================================================
>> Assertion failed: get_ValueType() == TV_FUN
>> in Function: Token
>> in file: ./Token.hh:63
>>
>> Call stack:
>>
>> ----------------------------------------
>> -- Stack trace at ./Token.hh:63
>> ----------------------------------------
>> 0xa @@@@
>> 0xa @@@@
>> 0xa @@@@
>> 0xa @@@@
>> 0xa @@@@
>> 0xa @@@@
>> 0xa @@@@
>> 0xa @@@@
>> 0xa @@@@
>> ========================================
>>
>> SI stack:
>>
>> Depth: 0
>> Exec: 0x7faebad02ac0
>> Safe ex: no
>> Pmode: ◊ E2 t
>> PC: 1 'E2
>> Stat: E2 t
>> err_code: 0x0
>> thrown: at StateIndicator.cc <http://stateindicator.cc/>:40
>> e_msg_1: 'No Error'
>> e_msg_2: ''
>> e_msg_3: ''
>>
>>
>> ==============================================================================
>>
>> Not the same bug but it uses the same arguments, so I thought it would be
>> better to send it here.
>>
>> Best of luck,
>> Louis
>>
>