experiments with iterator

This commit is contained in:
Helmut Merz 2024-05-05 08:33:16 +02:00
parent c2e27fe6dc
commit bf114841ca

View file

@ -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))))