RosettaCodeData/Task/Generator-Exponential/PicoLisp/generator-exponential.l

17 lines
398 B
Plaintext

(de powers (M)
(co (intern (pack 'powers M))
(for (I 0 (inc 'I))
(yield (** I M)) ) ) )
(de filtered (N M)
(co 'filtered
(let (V (powers N) F (powers M))
(loop
(if (> V F)
(setq F (powers M))
(and (> F V) (yield V))
(setq V (powers N)) ) ) ) ) )
(do 20 (filtered 2 3))
(do 10 (println (filtered 2 3)))