bug-apl
[Top][All Lists]
Advanced

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

Re: [Bug-apl] IOTA


From: Elias Mårtenson
Subject: Re: [Bug-apl] IOTA
Date: Wed, 2 Mar 2016 10:23:41 +0800

Looking at it further, I realise you need do disclose the result in order to make them equivalent:

      IOTA ← {⊃∘.,/⍳¨⍵}

Regards,
Elias

On 2 March 2016 at 10:19, Elias Mårtenson <address@hidden> wrote:
I don't know about a loop, but wouldn't this do the same thing?

    IOTA ← {∘.,/⍳¨⍵}

Regards,
Elias

On 2 March 2016 at 09:57, Christian Robert <address@hidden> wrote:
I have this function,

      ∇IOTA[⎕]∇
    ∇
[0]   z←IOTA v
[1]   z←⍳↑v
[2]   v←1↓,v
[3]  Loop: →(0=⍴v)/0
[4]   z←z∘.,⍳↑v
[5]   v←1↓v
[6]   →Loop
    ∇

      ]boxing 24

      IOTA 0
┌⊖┐
│0│
└─┘
      IOTA 10
┌10──────────────────┐
1 2 3 4 5 6 7 8 9 10
└────────────────────┘
      IOTA 2 3
┌3────────────────┐
2┌2──┐ ┌2──┐ ┌2──┐│
││1 1│ │1 2│ │1 3││
│└───┘ └───┘ └───┘│
│┌2──┐ ┌2──┐ ┌2──┐│
││2 1│ │2 2│ │2 3││
│└───┘ └───┘ └───┘│
└∊────────────────┘
      IOTA 2 3 5
┌5──────────────────────────────────────┐
2┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││1 1 1│ │1 1 2│ │1 1 3│ │1 1 4│ │1 1 5││
3└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
│┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││1 2 1│ │1 2 2│ │1 2 3│ │1 2 4│ │1 2 5││
│└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
│┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││1 3 1│ │1 3 2│ │1 3 3│ │1 3 4│ │1 3 5││
│└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
│                                       │
│┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││2 1 1│ │2 1 2│ │2 1 3│ │2 1 4│ │2 1 5││
│└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
│┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││2 2 1│ │2 2 2│ │2 2 3│ │2 2 4│ │2 2 5││
│└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
│┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐ ┌3────┐│
││2 3 1│ │2 3 2│ │2 3 3│ │2 3 4│ │2 3 5││
│└─────┘ └─────┘ └─────┘ └─────┘ └─────┘│
└∊──────────────────────────────────────┘



my question is: can such a function can be written in Lambda style ? (especially in gnuapl)

eg:

IOTA ← { ... }

That IOTA function simulate the behavior of "⍳" on "Dyalog APL" and NARS2000 and more interpretors when the argument is a vector.


thanks,

Xtian.






reply via email to

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