Start on lazy seqs.

This commit is contained in:
Colin Jones 2011-03-31 08:11:27 -05:00
parent 717207339f
commit 7d9fb046bb
3 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,25 @@
(meditations
"There are a wide range of ways to generate a sequence"
(= __ (range 1 5))
"The range starts at the beginning by default"
(= __ (range 5))
"It's important to only take what you need from a big sequence"
(= [0 1 2 3 4 5 6 7 8 9]
(take __ (range 100)))
"You can also limit results by dropping what you don't need"
(= [95 96 97 98 99]
(drop __ (range 100)))
"Iteration provides an infinite lazy sequence"
(= __ (take 20 (iterate inc 0)))
"Repetition is key"
(= [:a :a :a :a :a :a :a :a :a :a ]
(repeat 10 __))
"Iteration can be used for repetition"
(= (repeat 100 :foo)
(take 100 (iterate ___ :foo))))

View File

@ -90,6 +90,14 @@
"Hello, you silly world."
"Hello to this group: Peter, Paul, Mary!" ]}
"lazy_sequences" {"__" [[1 2 3 4]
[0 1 2 3 4]
10
95
'(range 20)
:a]
"___" ['(fn [x] :foo)]}
"sequence_comprehensions" {"__" [[0 1 2 3 4 5]
'(* index index)
'(range 10)

View File

@ -29,6 +29,7 @@
"conditionals"
"higher_order_functions"
"runtime_polymorphism"
"lazy_sequences"
"sequence_comprehensions"
"creating_functions"
"recursion"