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
