From db03f50f6a5ef9712df7be5bfbcea8552190dd8e Mon Sep 17 00:00:00 2001 From: Devyn Cairns Date: Wed, 9 Aug 2023 17:13:37 -0700 Subject: [PATCH] redefine define to return the original value --- stage2/00-early.lsp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/stage2/00-early.lsp b/stage2/00-early.lsp index d07806e..be39de5 100644 --- a/stage2/00-early.lsp +++ b/stage2/00-early.lsp @@ -1,4 +1,4 @@ -; (define ) +; (define ) = ? (call-native define$ (ref (quote define)) (ref (proc args scope @@ -42,6 +42,14 @@ (eval scope (car args)) (eval scope (cadr args)))))) +; redefine define to return the original value +(define define (proc args scope + (seq1 + (call-native define$ + (ref (car args)) + (ref (eval scope (cadr args)))) + (eval scope (car args))))) + ; (print ) = (define print (proc args scope (deref (car