[CM] algorithm woes

Rick Taube taube at uiuc.edu
Mon Dec 23 03:24:43 PST 2002


>Apologies if this is a repost. Also, apologies
>for the formatting - the properly formatted version
>is at :
> http://stripe.colorado.edu/~theodorm/algo.html
>

you might consider using the :name feature to reference specific subpatterns
in the pattern. im sorry i dont have time to get it all thought out for you 
right now, but something like what i have below may work, at any rate it seems to be using much less code than what you currently have.

this is in 2.4.0, but there is an equivanent nameing feature in 1.3:

(new cycle name 'a of 1 for 1)
(new cycle name 'b of (list #!a 2) for 1)
(new cycle name 'c of (list #!b 3) for 1)
(new cycle name 'd of '4a for 1)
(new cycle name 'e of (list #!c #!d) for 1)

(setf x
      (new cycle of (list (new cycle of #!a for 9)
                          (new cycle of #!b for 18)
                          (new cycle of #!c for 18)
                          (new cycle of #!e for 18)

                          )))
(next x t)

(1 1 1 1 1 1 1 1 1 
 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 
 1 3 2 3 1 3 2 3 1 3 2 3 1 3 2 3 1 3 
 2 4A 3 4A 1 4A 3 4A 2 4A 3 4A 1 4A 3 4A 2 4A)


the other approach would be to write a function that does the 
interleaving for you. you can put that function in a 'function'
item stream if you need the series to be generated inside a
pattern.



More information about the Cmdist mailing list