bug-apl
[Top][All Lists]
Advanced

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

Re: [Bug-apl] Determining data type...


From: Elias Mårtenson
Subject: Re: [Bug-apl] Determining data type...
Date: Fri, 1 Aug 2014 10:51:33 +0800

It's a GNU APL extension. Standard APL does not support functions with indexes. Since GNU APL does, it also needed a symbol to represent that parameter inside lambdas.

Regards,
Elias


On 1 August 2014 10:49, Peter Teeson <address@hidden> wrote:
Thanks Elias:

David used theta as well. Is that also an available symbol?
i.e. a greek letter not otherwise used by the APL language?

I will have to Google for a good intro to lambdas…
They look interesting...

respect…

Peter

On 2014-07-31, at 10:11 PM, Elias Mårtenson <address@hidden> wrote:

Yes, you are right. Here are the available symbols:

⍵ - Right-hand argument
⍺ - Left-hand argument
⍹ - Right-hand function (the lambda is an operator)
⍶ - Left-hand function (the lambda is an operator)
χ - Index

Regards,
Elias


On 1 August 2014 10:04, Peter Teeson <address@hidden> wrote:
Thank you kind gentlemen for helping me move forward with modern APL.
Am I correct in assuming that expressions such as {⍬≡0⍴⍵} are lambdas?
And that the symbols theta and omega are place holders similar to X and Y in a user defined function?
(all new stuff to me BTW - but very interesting.)

respect

Peter

On 2014-07-31, at 9:51 PM, Elias Mårtenson <address@hidden> wrote:

This is the table I have included in the Emacs mode documentation. I got the information from the ISO spec, so I hope it's correct:

  0   (1-R⋆2)⋆0.5
 ¯1   arcsin R               1   sin R
 ¯2   arccos R               2   cosin R
 ¯3   arctan R               3   tan R
 ¯4   (R+1)×((R-1)÷R+1)⋆0.5  4   (1+R⋆2)⋆0.5
 ¯5   arcsinh R              5   sinh R
 ¯6   arccosh R              6   cosh R
 ¯7   arctanh R              7   tanh R
 ¯8   -(¯1-R×2)⋆0.5          8   (¯1-R⋆2)⋆0.5
 ¯9   R                      9   Real part of R
¯10   +R                    10   |R
¯11   0J1×R                 11   Imaginary part of R
¯12   ⋆0J1×R                12   Arc R

Regards,
Elias


On 1 August 2014 06:46, David B. Lamkins <address@hidden> wrote:
Reshape your datum as an empty vector then match to zilde. If the match
succeeds then your datum is a number; otherwise a character/string.

I believe that there's a circle function to extract the imaginary part
of a number, if any. You can test for a nonzero imaginary part.

Finally, you can compare a number's floor to the number itself to
determine whether the value is integer or real.

Not knowing your application, I have to warn you that you shouldn't use
these tests to infer anything about APL's storage. All of the numeric
tests are subject to quad-CT.

On Thu, 2014-07-31 at 15:54 -0400, Peter Teeson wrote:
> I feel pretty stupid.
> Looked in the APL2 IBM manual but do not understand how to determine the data type of a variable.
> Neither the primitives nor the Quads sparked the answer in my brain.
> It must be something pretty obvious but not to me right now.
>
> So if I have a function FOO X how do I determine if X is character, integer, float, or imaginary?
> Assuming that it is not a nested array of course.
>
> respect…
>
> Peter
>









reply via email to

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