Catalog was invented in "Dictionary APL" and was called "all".
http://www.jsoftware.com/papers/APLDictionary.htm  It's what you need to
index rectangular arrays using the more primitive notion of indexing a
vector by an array of integers.



On Thu, May 8, 2014 at 2:34 PM, 'Pascal Jasmin' via Programming <
[email protected]> wrote:

> Its the same.  Just more descriptive name than catalogue perhaps.  Google
> seems to only find J references to query "catalogue function permutations".
>  I feel as though catalogue and my use of it is a generalizable pattern,
> and the J designers agreed, but I don't know if other languages did
> something similar, and just used a different name?
>
> Was catalogue in APL?
>
>
> ----- Original Message -----
> From: David Lambert <[email protected]>
> To: programming <[email protected]>
> Cc:
> Sent: Thursday, May 8, 2014 4:50:40 PM
> Subject: Re: [Jprogramming] a cool permutation verb
>
> Indeed cool, does it differ from ,@{ :[:
> > Date: Thu, 8 May 2014 10:53:53 -0700 (PDT)
> > From: "'Pascal Jasmin' via Programming"<[email protected]>
> > To: Programming forum<[email protected]>
> > Subject: [Jprogramming] a cool permutation verb
> > Message-ID:
> >     <[email protected]>
> > Content-Type: text/plain; charset=utf-8
> >
> > cperm =: [: , [: < "1 [: > [: ,"0 1/ each/ (_2&}. , [: ,"0 0/ each/
> _2&{.)
> >
> > this creates constrained permutations where each position in the list
> can only be drawn from its own set:
> >
> > ? ?cperm 3 4 ; 1 2
> > ?????????????????
> > ?3 1?3 2?4 1?4 2?
> > ?????????????????
> >
> > ? ?cperm 0 ; 3 4 ; 1 2; 5
> > ?????????????????????????????????
> > ?0 3 1 5?0 3 2 5?0 4 1 5?0 4 2 5?
> > ?????????????????????????????????
> >
> > ? ?cperm 8 9 ;0 ; 3 4 ; 1 2; 5
> >
> ?????????????????????????????????????????????????????????????????????????????????
> > ?8 0 3 1 5?8 0 3 2 5?8 0 4 1 5?8 0 4 2 5?9 0 3 1 5?9 0 3 2 5?9 0 4 1 5?9
> 0 4 2 5?
> >
> ?????????????????????????????????????????????????????????????????????????????????
> >
> > The rightmost part (_2&}. , [: ,"0 0/ each/ _2&{.) of the verb is just
> there to deal with edge cases of joining the last 2 boxes.
> >
> > The core is: ?(,"0 1/ each/)
> >
> > I thought it was pretty cool to use / twice.
> >
> > This was useful in solving this problem in sufficiently elegant fashion:
> >
> >
> http://www.reddit.com/r/dailyprogrammer/comments/24ypno/572014_challenge_161_medium_appointing_workers/
> >
> > often the constrained permutation list has overlapping allowable values
> in each slot, and in the above resource allocation problem, those happen to
> indicate the invalid permutations, and are fairly easily eliminated with ~.
> >
> > It could also be used ( a bit of a stretch) for games where the first
> few moves have been played and are known, but you wish to know the
> permutations for a select number of future moves.
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to