Code: Select all
(filter (fn (i) (= pat (i (length pat) lst))) (flat (ref-all (pat 0) lst)))
Code: Select all
(filter (fn (i) (= pat (i (length pat) lst))) (flat (ref-all (pat 0) lst)))
Code: Select all
(define (prog1 X) X)
Code: Select all
((fn (X) X) term1 term2 term3 ...)
Code: Select all
((list term1 term2 term3 ...) 0)
Code: Select all
> (push x x)
(?)
> (x 0 0)
ERR: list reference changed
> x
Code: Select all
(and (context? S) (nil? (sym (term S) S nil)))
Code: Select all
(apply S)
Code: Select all
(define (pairs-i a b)
(let ((out (list)) (x nil))
(for (y (if (odd? a) a (inc a)) b 2)
(if (1 (factor y)) (setf y nil) x (push (list x y) out -1))
(setf x y))
out))