bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-apl] This looks wrong


From: Elias Mårtenson
Subject: Re: [Bug-apl] This looks wrong
Date: Wed, 6 Aug 2014 21:15:28 +0800

I have been looking at how Dyalog does it, and their implementation is even more strange. I have to agree with your assessment.

Last night as I was about to go to sleep I thought about a change that could make the use of "side-effect-only" lambdas much more logical and functional. It sounded great to my inner mind before I went to sleep, so at least I feel it should be discussed here.

My suggestion is that niladic lambda functions will not be allowed at all. Instead, they will be interpreted as monadic functions that ignore their argument.

The justification for this is as follows:
Regards,
Elias


On 5 August 2014 23:47, Juergen Sauermann <address@hidden> wrote:
Hi,

this is how I read the ISO standard. If a statement that is valid per ISO returns
a wrong result then I consider that a fault that should be (and was) fixed.

If that conflicts with an intended use of a non-standard extension like the ⍣ operator then I
would rate that as simply bad luck (as opposed to a fault).

/// Jürgen



On 08/05/2014 04:40 PM, Elias Mårtenson wrote:
Are you sure we want to fix that though? Things like the power operator (once we have it) will not work right (since it's seems to be often used to execute a niladic function a certain number of times.

The SQL∆WithTransaction will have the same problem.

The workaround seems to be a bit ugly, like prefixing the lambda function with ⍵⊢

Regards,
Elias


On 5 August 2014 22:07, Juergen Sauermann <address@hidden> wrote:
Hi David,

thanks, fixed in SVN 417. Unfortunately, as a consequence, it is no
longer possible to pass a niladic function to an operator.

/// Jürgen



On 08/05/2014 09:39 AM, David B. Lamkins wrote:
Maybe I've misunderstood some APL2 corner case, but the behavior of the
attached program seems wrong.







reply via email to

[Prev in Thread] Current Thread [Next in Thread]