[CM] cm 3.6.0 betas available

Heinrich Taube taube at uiuc.edu
Mon Apr 19 15:20:04 PDT 2010


On Apr 19, 2010, at 4:21 PM, Adam wrote:

>>> (define p5 (make-cycle ' (200 220 240 240)))
>>> (define p7 (make-cycle '(300 320 340 (next p5))))

ok, first here is what you perhaps want to do:

(define p5 (make-cycle ' (200 220 240 240)))
(define p7 (make-cycle (list 300 320 340 (next p5))))
(next p7 20)
=>(300 320 340 200 300 320 340 200 300 320 340 200 300 320 340 200 300  
320 340 200)

the use of (list ..)  can be rewritten using scheme's BACKQUOTE ` so  
this is the same thing:

(define p5 (make-cycle ' (200 220 240 240)))
(define p7 (make-cycle `(300 320 340 , (next p5))))

BUT i think you really want:

(define p7 (make-cycle `(300 320 340 ,(make-cycle '(200 220 240  
240) :for 1))))
=> (300 320 340 200 300 320 340 220 300 320 340 240 300 320 340 240  
300 320 340 200)

notice that you get your single items from the inner pattern spread  
out over the outer pattern -- that is, the period length of the inner  
pattern is 1 so you only get its next element each time the outer  
pattern starts over








More information about the Cmdist mailing list