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 <loke...@gmail.com> 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 <christian.rob...@polymtl.ca> > 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. >> >> >> >> >