Is this what you intended of the 'me' function:

      ≡me 4
3
      ≡me 5 6
2
      ≡me ''
2
      ≡me 'f'
3
      ≡me 'ff'
2
      ≡me 'aaa' 'bbb'
3
      ≡me 'a' 'b'
2



On Fri, May 9, 2014 at 4:00 PM, David B. Lamkins <dlamk...@gmail.com> wrote:

> Here's a version that doesn't use a lambda. Instead, there's a new
> function `findl' that captures `list' from its caller (`finds').
>
> ∇z←list find key
>  z←key≡¨list
> ∇
>
> ∇z←findl key
>  z←(nl list) find ⊂key
> ∇
>
> ∇z←list finds keys
>  z←findl¨nl keys
> ∇
>
> ∇z←me e
>  z←⊂(⎕io+≡e)⊃(⊂,e) (,e) (e)
> ∇
>
> ∇z←nl l
>  z←me¨(⎕io+1=≡l)⊃l (⊂l)
> ∇
>
>
> On Fri, 2014-05-09 at 12:55 -0700, David B. Lamkins wrote:
>
> [snip]
>
> > Here's an example:
> >
> >       ]boxing 8
> >       ll←'a' 'bc' 'def' 'foo' 'g'
> >       ll
> > ┌→───────────────────┐
> > │a ┌→─┐ ┌→──┐ ┌→──┐ g│
> > │  │bc│ │def│ │foo│  │
> > │  └──┘ └───┘ └───┘  │
> > └∊───────────────────┘
> >       ll finds 'a'
> > ┌───────────┐
> > │┌→────────┐│
> > ││1 0 0 0 0││
> > │└─────────┘│
> > └∊──────────┘
> >       ll finds 'bc' 'foo'
> > ┌→──────────────────────┐
> > │┌→────────┐ ┌→────────┐│
> > ││0 1 0 0 0│ │0 0 0 1 0││
> > │└─────────┘ └─────────┘│
> > └∊──────────────────────┘
> >       ⍝ Beware...
> >       ll finds 'a' 'g'
> > ┌───────────┐
> > │┌→────────┐│
> > ││0 0 0 0 0││
> > │└─────────┘│
> > └∊──────────┘
> >       ⍝ ... because:
> >       'a' 'g'
> > ┌→─┐
> > │ag│
> > └──┘
> >       ll finds (,'a') (,'g')
> > ┌→──────────────────────┐
> > │┌→────────┐ ┌→────────┐│
> > ││1 0 0 0 0│ │0 0 0 0 1││
> > │└─────────┘ └─────────┘│
> > └∊──────────────────────┘
> >
>
>
>

Reply via email to