master
Mark Oteiza 9 years ago
parent 98e819e407
commit 6a578338b6
  1. 17
      dash.el
  2. 4
      dev/examples.el

@ -2154,6 +2154,23 @@ N is the length of the returned list."
(push (funcall fun (car r)) r))
(nreverse r))))
(defun -iota (count &optional start step)
"Return a list containing COUNT numbers.
Starts from START and adds STEP each time. The default START is
zero, the default STEP is 1.
This function takes its name from the corresponding primitive in
the APL language."
(if (or (not (integerp count)) (< count 0))
(signal 'wrong-type-argument count))
(if (and step (zerop step)) (make-list count start)
(let ((res '())
(x (or start 0))
(dx (or step 1)))
(while (<= 0 (setq count (1- count)))
(push x res)
(setq x (+ x dx)))
(nreverse res))))
(defun -fix (fn list)
"Compute the (least) fixpoint of FN with initial input LIST.

@ -614,6 +614,10 @@ new list."
(-interleave '(1 2 3) '("a" "b")) => '(1 "a" 2 "b")
(-interleave '(1 2 3) '("a" "b" "c" "d")) => '(1 "a" 2 "b" 3 "c"))
(defexamples -iota
(-iota 6) => '(0 1 2 3 4 5)
(-iota 4 2.5 -2) => '(2.5 0.5 -1.5 -3.5))
(defexamples -zip-with
(-zip-with '+ '(1 2 3) '(4 5 6)) => '(5 7 9)
(-zip-with 'cons '(1 2 3) '(4 5 6)) => '((1 . 4) (2 . 5) (3 . 6))

Loading…
Cancel
Save