diff options
Diffstat (limited to 'module/system/base/syntax.scm')
-rw-r--r-- | module/system/base/syntax.scm | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/module/system/base/syntax.scm b/module/system/base/syntax.scm index 488ff3b56..ffdac8414 100644 --- a/module/system/base/syntax.scm +++ b/module/system/base/syntax.scm @@ -20,6 +20,7 @@ ;;; Code: (define-module (system base syntax) + :export (%compute-initargs) :export-syntax (define-type define-record record-case)) (export-syntax |) ;; emacs doesn't like the | @@ -57,10 +58,10 @@ (if (pair? slot) `(cons ',(car slot) ,(cadr slot)) `',slot)) - slots)))) + slots))) + (constructor (record-constructor ,name))) (lambda args - (apply ,(record-constructor type) - (,%compute-initargs args slots))))) + (apply constructor (%compute-initargs args slots))))) (define ,(symbol-append stem '?) ,(record-predicate type)) ,@(map (lambda (sname) `(define ,(symbol-append stem '- sname) |