Skip to content

Lazy evaluation

Joachim Wester edited this page May 30, 2016 · 6 revisions

Example

(defn NextEvenNumber [previous]
   (cons (+ previous 2) (NextEvenNumber (+ previous 2))))

(def AllEvenPositiveNumbers
   (cons 0 (NextEvenNumber 0)))

(take 10 AllEvenPositiveNumbers)

Will evaluate to

(0 2 4 6 8 10 12 14 16 18)
Clone this wiki locally