Advertisement
Guest User

lazy repeat pattern sequences in clojure

a guest
Jun 14th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. (defn now[] (System/currentTimeMillis))
  3.  
  4.  
  5. (defn faiver
  6.   ([generator]
  7.     ;; bootstrap our generated series
  8.     (faiver generator (generator)))
  9.   ([generator current]
  10.     ;; lazy means we evalueate as queried, 5 units of the same value, then generate a new one
  11.     (lazy-seq
  12.       (concat
  13.         (repeat 5 current)
  14.         (faiver generator (generator))
  15.       )
  16.     )
  17.   )
  18. )
  19.  
  20. (take 12 (faiver now))
  21.  
  22. ;; output here was :
  23. ;; (1497418232616 1497418232616 1497418232616 1497418232616 1497418232616 1497418232616
  24. ;;  1497418232616 1497418232616 1497418232616 1497418232616 1497418232616 1497418232616)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement