forge: define words with Lisp code

This commit is contained in:
Helmut Merz 2026-02-27 14:17:18 +01:00
parent ca1f56e11a
commit 84e9a2bfc5

View file

@ -181,7 +181,8 @@
#:ptr #:get #:put #:ptr #:get #:put
#:in #:next #:in #:next
#:call #:call-if #:call-while #:comp #:lit #:val #:call #:call-if #:call-while #:comp #:lit #:val
#:<comp #:reg #:regc #:reg-lisp #:/> #:<comp #:reg #:regc #:/>
#:lisp #:reg-lisp
#:setup-builtins #:setup-builtins
)) ))
@ -230,10 +231,12 @@
(f:reg 'reg #'f:reg-code) (f:reg 'reg #'f:reg-code)
(f:reg 'regc #'(lambda () (f:reg-code 'f:comp-word))) (f:reg 'regc #'(lambda () (f:reg-code 'f:comp-word)))
(f:reg 'reg-lisp (lambda () (f:reg (f:popd) (f:compile-lisp (f:popd)))))
(f:reg '/> #'(lambda () (iter:stop f:*input*)) 'f:comp-word) (f:reg '/> #'(lambda () (iter:stop f:*input*)) 'f:comp-word)
(f:reg 'lisp (lambda () (cons (f:compile-lisp (f:popd)) f::*buffer*)))
(f:reg 'reg-lisp (lambda () (f:reg (f:popd) (f:compile-lisp (f:popd)))))
;;;; forge-code word definitions ;;;; forge-code word definitions
(defun setup-builtins () (defun setup-builtins ()