(defun fixpoint ( x y)
(funcall y (funcall x x y) )
)
(defun try ( f check init)
(if (funcall check (funcall f init) init )
init
(progn
(print init)
(try f check (funcall f init) )
)
)
)
(setq fun (fixpoint 'fixpoint
(lambda (s)
(lambda ( f check init)
(if (funcall check (funcall f init) init )
init
(progn
(print init)
(funcall s f check (funcall f init) )
)
)
)
)
)
)
(funcall fun (lambda(x)(sin x) )
(lambda (x y)(if (< (abs (- x y)) (/ 1 10000) ) t nil)) (/ 1 11) )