Hi,

How would I copy|clone, reinitialize or dispose of a 'job' function?

For example, given

(de hexSpigot NIL
   (job '((N))
      (ifn N (setq N '(0)))
      (prog1
         (hex (% (car N) 16))
         (setq N (cons (+ 1 (car N)) N)) ) ) )

I can then do..

: (do 32 (prin (hexSpigot)))

0123456789ABCDEF0123456789ABCDEF-> "F"

Now, hexSpigot something like this...

: (pp 'hexSpigot)
(de hexSpigot NIL
   (job
      '((N 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12
11 10 9 8 7 6 5 4 3 2 1 0 ) )
      (ifn N (setq N '(0)))
      (prog1
         (hex (% (car N) 16))
         (setq N (cons (+ 1 (car N)) N)) ) ) )



The job vars are being modified and the list N is growing.. using ever
greater amounts of memory. If I want to reset the spigot, or even clone it
to have more than one, how would I do that?


/Lindsay

Reply via email to