experiments with iterator
This commit is contained in:
parent
c2e27fe6dc
commit
bf114841ca
1 changed files with 8 additions and 10 deletions
18
scratch.lisp
18
scratch.lisp
|
@ -11,6 +11,14 @@
|
|||
|
||||
;;; real scratch area
|
||||
|
||||
(defun make-iter ()
|
||||
(let ((pointers (vector nil nil nil)))
|
||||
#'(lambda (fn)
|
||||
(funcall fn pointers))))
|
||||
|
||||
(defun iter-current (it)
|
||||
(funcall it #'(lambda (p) (car (svref p 0)))))
|
||||
|
||||
(defun classes ()
|
||||
(let ((r nil))
|
||||
(maphash #'(lambda (k v)
|
||||
|
@ -31,13 +39,3 @@
|
|||
(defun x-put-var (vf value)
|
||||
(funcall vf value))
|
||||
|
||||
(defun make-var (val)
|
||||
(let ((var (list val)))
|
||||
#'(lambda (fn)
|
||||
(funcall fn var))))
|
||||
|
||||
(defun get-var (vf)
|
||||
(funcall vf #'(lambda (x) (car x))))
|
||||
|
||||
(defun set-var (vf nv)
|
||||
(funcall vf #'(lambda (x) (setf (car x) nv))))
|
||||
|
|
Loading…
Add table
Reference in a new issue