I was just wondering what is supposed to happen if I do this:
A←{(+⌿⍵)÷≢⍵}
B←A
Is B equivalent to the lambda, or is it a function that calls A?
Or is this simply supposed to signal an error?

Louis

> On 01 Jun 2016, at 15:38, Juergen Sauermann <juergen.sauerm...@t-online.de> 
> wrote:
> 
> Hi Xtian,
> 
> thanks, fixed in SVN 734.
> 
> All lambdas are now "unnamed" and assigning them to a name, like in
> 
> A←{ ... }
> 
> does no longer change the name of the lambda (that was one of the earlier 
> problems)
> 
> //// Jürgen
> 
> 
> On 05/31/2016 12:04 AM, Christian Robert wrote:
>> I was pretty certain this bug will really be hard to fix. 
>> 
>> 
>> [xtian@fc-23:/home/xtian] $ apl 
>> 
>>                     ______ _   __ __  __    ___     ____   __ 
>>                    / ____// | / // / / /   /   |   / __ \ / / 
>>                   / / __ /  |/ // / / /   / /| |  / /_/ // / 
>>                  / /_/ // /|  // /_/ /   / ___ | / ____// /___ 
>>                  \____//_/ |_/ \____/   /_/  |_|/_/    /_____/ 
>> 
>>                      Welcome to GNU APL version 1.5 / 733 
>> 
>>                 Copyright (C) 2008-2015  Dr. Jürgen Sauermann 
>>                        Banner by FIGlet: www.figlet.org 
>> <http://www.figlet.org/> 
>> 
>>                 This program comes with ABSOLUTELY NO WARRANTY; 
>>                           for details run: apl --gpl. 
>> 
>>      This program is free software, and you are welcome to redistribute it 
>>          according to the GNU Public License (GPL) version 3 or later. 
>> 
>>       )wsid test 
>> WAS CLEAR WS 
>>       ⎕pw←1000 
>>       ]boxing 8 
>>       a←20?100 
>>       b←15?100 
>>       cmp_a←{{⍵[⍋⍵]} (∨/[1] ⍺∘.= ⍵) / ⍵} 
>>       cmp_b←{{⍵[⍋⍵]} (∨⌿ ⍺∘.= ⍵) / ⍵} 
>>       )fns 
>> cmp_a   cmp_b 
>>       a cmp_a b 
>> ┌→──────────┐ 
>> │26 50 76 95│ 
>> └───────────┘ 
>>       b cmp_a a 
>> ┌→──────────┐ 
>> │26 50 76 95│ 
>> └───────────┘ 
>>       ⎕nl 3 
>> ┌→────┐ 
>> ↓cmp_a│ 
>> │cmp_b│ 
>> └─────┘ 
>>       )save 
>> 2016-05-30  17:56:37 (GMT-4) test 
>>       )load test 
>> SAVED 2016-05-30 17:56:37 (GMT-4) 
>>       )fns 
>> cmp_a   cmp_b   λ1 
>>       ⎕cr ¨ ⊂[2] ⎕nl 3 
>> ┌→──────────────────────────────────────────────────────────┐ 
>> │┌⊖┐ ┌→────────────────────────┐ ┌→────────────────────────┐│ 
>> │⌽ │ ↓λ←⍺ λ1 ⍵                 │ ↓λ←⍺ λ1 ⍵                 ││ 
>> │└─┘ │λ←{⍵[⍋⍵]} (∨⌿ ⍺∘.= ⍵) / ⍵│ │λ←{⍵[⍋⍵]} (∨⌿ ⍺∘.= ⍵) / ⍵││ 
>> │    └─────────────────────────┘ └─────────────────────────┘│ 
>> └∊──────────────────────────────────────────────────────────┘ 
>>       ⍝ lambda functions lost their names 
>>       ⍝ cmp_a definition has disapear 
>>       ⍝ a function name 'λ1' appear 
>> 
>>       D←{24 ⎕cr ⍵} 
>>       )fns 
>> D   cmp_a   cmp_b   λ1 
>>       )save 
>> 
>> 
>> ==================================================== 
>> SEGMENTATION FAULT 
>> 
>> ---------------------------------------- 
>> -- Stack trace at main.cc:63 
>> ---------------------------------------- 
>> 0x7f3283b029f0 
>> 0x4493e7 
>> ======================================== 
>> ==================================================== 
>> 
>> Goodbye. 
>> [xtian@fc-23:/home/xtian] $ 
>> 
>> On 2016-05-29 14:15, Juergen Sauermann wrote: 
>>> Hi Xtian, 
>>> 
>>> I believe I have corrected the fault. *SVN 732*. 
>>> 
>>> Unfortunately that has required a major rework (actually a simplification) 
>>> of the lambda 
>>> stuff - I hope everything else still works as expected. 
>>> 
>>> It is no longer possible to ∇-edit a lambda, but *⎕CR* still works for 
>>> displaying 
>>> a variable to which a lambda was assigned. The function name of the lambda 
>>> now always begins with *λ* followed by a number: 
>>> 
>>> *      FOO←{⍺ + ⍵}** 
>>> **      ∇FOO[⎕]∇** 
>>> **DEFN ERROR+** 
>>> **      ∇FOO[⎕]∇** 
>>> **             ^** 
>>> **      )more** 
>>> **function is a lambda 
>>> 
>>> ****      ⎕CR 'FOO'** 
>>> **λ←⍺ λ1 ⍵** 
>>> **λ←⍺ + ⍵ ** 
>>> * 
>>> /// Jürgen 
>>> 
>>> 
>>> On 05/26/2016 04:38 AM, Christian Robert wrote: 
>>>>        )clear 
>>>> CLEAR WS 
>>>> 
>>>>       a←20?100 
>>>>       b←15?100 
>>>>       a 
>>>> 77 7 19 54 24 32 84 40 5 95 97 76 82 92 63 26 10 98 21 50 
>>>>       b 
>>>> 38 80 99 90 26 30 74 50 85 81 47 76 93 95 88 
>>>>       a∘.=b 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
>>>> 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 
>>>>       cmp←{(∨/[1] ⍺∘.= ⍵) / ⍵} 
>>>>       a cmp b 
>>>> 26 50 76 95 
>>>>       b cmp a 
>>>> 95 76 26 50 
>>>>       )save 
>>>> NOT SAVED: THIS WS IS CLEAR WS 
>>>>       )wsid test 
>>>> WAS CLEAR WS 
>>>>       )save 
>>>> 2016-05-25  22:33:41 (GMT-4) test 
>>>>       cmp←{{⍵[⍋⍵]} (∨/[1] ⍺∘.= ⍵) / ⍵} 
>>>>       )save 
>>>> 2016-05-25  22:34:23 (GMT-4) test 
>>>>       a cmp b 
>>>> 
>>>> 
>>>> ==================================================== 
>>>> SEGMENTATION FAULT 
>>>> 
>>>> ---------------------------------------- 
>>>> -- Stack trace at main.cc:63 
>>>> ---------------------------------------- 
>>>> 0x7fc41397d9f0 
>>>> 0x4495e7 
>>>> ======================================== 
>>>> ==================================================== 
>>>> 
>>>> Goodbye. 
>>>> [xtian@fc-23:/home/xtian] $ apl 
>>>> 
>>>>                     ______ _   __ __  __    ___     ____   __ 
>>>>                    / ____// | / // / / /   /   |   / __ \ / / 
>>>>                   / / __ /  |/ // / / /   / /| |  / /_/ // / 
>>>>                  / /_/ // /|  // /_/ /   / ___ | / ____// /___ 
>>>>                  \____//_/ |_/ \____/   /_/  |_|/_/    /_____/ 
>>>> 
>>>>                      Welcome to GNU APL version 1.5 / 731 
>>>> 
>>>>                 Copyright (C) 2008-2015  Dr. Jürgen Sauermann 
>>>>                        Banner by FIGlet: www.figlet.org 
>>>> <http://www.figlet.org/> 
>>>> 
>>>>                 This program comes with ABSOLUTELY NO WARRANTY; 
>>>>                           for details run: apl --gpl. 
>>>> 
>>>>      This program is free software, and you are welcome to redistribute it 
>>>>          according to the GNU Public License (GPL) version 3 or later. 
>>>> 
>>>> SAVED 2016-05-17 21:09:56 (GMT-4) 
>>>>       )load test 
>>>> SAVED 2016-05-25 22:34:23 (GMT-4) 
>>>>       a cmp b 
>>>> 26 50 76 95 
>>>>       b cmp a 
>>>> 26 50 76 95 
>>>>       )off 
>>>> 
>>>> Goodbye. 
>>>> [xtian@fc-23:/home/xtian] $ 
>>>> 
>>>> 
>>> 
>> 
> 

Reply via email to