bug-apl
[Top][All Lists]
Advanced

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

Re: [Bug-apl] The Dyalog ⌸ operator


From: Elias Mårtenson
Subject: Re: [Bug-apl] The Dyalog ⌸ operator
Date: Wed, 27 Apr 2016 13:00:45 +0800

The Dyalog language reference guide contains all the Dyalog stuff: http://docs.dyalog.com/14.1/Dyalog%20APL%20Language%20Reference.pdf

In particular, ⍤ is described on page 146, and ⌸ on page 139.

The formal ISO APL specification can be downloaded here: http://www.math.uwaterloo.ca/~ljdickey/apl-rep/docs/is13751.pdf

Note that for the last link, the file is actually gzipped, so you have to uncompress it before you can read it.

Regards,
Elias

On 27 April 2016 at 12:41, Christian Robert <address@hidden> wrote:
where are you taking the definition of various functions like ?

power operator ?

dieresis jot ? like: (⊂⍤1) z,⍪z  (I really don't know what it is doing)

I see no references anywhere on the web. None in apl2 manual, none in Dyalog manual.

how can I learn thoses ...  without a manual and/or some examples ?


Xtian.



On 2016-04-26 23:02, Elias Mårtenson wrote:
I was reading about the Dyalog "key" operator ⌸. It's certainly a useful function, and something that should probably be added to GNU APL, in my opinion.

As always when thinking about useful additions to GNU APL, I wanted to try to do some things that ⌸ can do, without having access to it.

So, I wanted to simply take a string of characters, and create a list of each character and the number of occurrences of each character in that string. My solution works, but feels clumsy:

*       { ⊃{(↑⍵) (↑⍴⍵)}¨(⎕UCS v) ⊂ v←⍵[⍋⍵] } "abcfoobat"*
┏→━━━━┓
↓'a' 2┃
┃'b' 2┃
┃'c' 1┃
┃'f' 1┃
┃'o' 2┃
┃'t' 1┃
┗━━━━━┛

Can anyone improve this? In particular, can it be improved to the point of convincing me that ⌸ is not needed?

Regards,
Elias



reply via email to

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