mirror of
https://github.com/janet-lang/janet
synced 2025-11-04 17:43:02 +00:00
Update lazyseqs
This commit is contained in:
@@ -49,19 +49,16 @@
|
|||||||
[s]
|
[s]
|
||||||
(get (s) TAIL))
|
(get (s) TAIL))
|
||||||
|
|
||||||
(defn range2
|
(defn lazy-range
|
||||||
"Return a sequence of integers [start, end)."
|
"Return a sequence of integers [start, end)."
|
||||||
[start end]
|
@[start end]
|
||||||
(if (< start end)
|
(if end
|
||||||
(delay (tuple start (range2 (+ 1 start) end)))
|
(if (< start end)
|
||||||
empty-seq))
|
(delay (tuple start (lazy-range (+ 1 start) end)))
|
||||||
|
empty-seq)
|
||||||
|
(lazy-range 0 start)))
|
||||||
|
|
||||||
(defn range
|
(defn lazy-map
|
||||||
"Return a sequence of integers [0, end)."
|
|
||||||
[end]
|
|
||||||
(range2 0 end))
|
|
||||||
|
|
||||||
(defn map
|
|
||||||
"Return a sequence that is the result of applying f to each value in s."
|
"Return a sequence that is the result of applying f to each value in s."
|
||||||
[f s]
|
[f s]
|
||||||
(delay
|
(delay
|
||||||
@@ -95,7 +92,7 @@
|
|||||||
(defn randseq
|
(defn randseq
|
||||||
"Return a sequence of random numbers."
|
"Return a sequence of random numbers."
|
||||||
[]
|
[]
|
||||||
(delay (tuple (random) (randseq))))
|
(delay (tuple (math.random) (randseq))))
|
||||||
|
|
||||||
(defn take-while
|
(defn take-while
|
||||||
"Returns a sequence of values until the predicate is false."
|
"Returns a sequence of values until the predicate is false."
|
||||||
|
|||||||
Reference in New Issue
Block a user