diff --git a/src/ikarus.boot b/src/ikarus.boot index b36a7e3..c2d6f11 100644 Binary files a/src/ikarus.boot and b/src/ikarus.boot differ diff --git a/src/libcompile.ss b/src/libcompile.ss index 36c1843..8e09847 100644 --- a/src/libcompile.ss +++ b/src/libcompile.ss @@ -5261,6 +5261,9 @@ (close-input-port ip) (close-output-port op)))) +(define (compile-core-expr x) + (let ([code (compile-core-expr->code x)]) + ($code->closure code))) (primitive-set! 'compile-core-expr-to-port compile-core-expr-to-port) @@ -5285,6 +5288,8 @@ (let ([proc ($code->closure code)]) (proc))))) +(primitive-set! 'eval-core + (lambda (x) ((compile-core-expr x)))) (primitive-set! 'eval (lambda (x) diff --git a/src/library-manager.ss b/src/library-manager.ss index 679e0f8..45f48f7 100644 --- a/src/library-manager.ss +++ b/src/library-manager.ss @@ -403,6 +403,7 @@ [compile compile-label (core-prim . compile)] [compile-core-expr-to-port compile-core-expr-to-port-label (core-prim . compile-core-expr-to-port)] [eval eval-label (core-prim . eval)] + [eval-core eval-core-label (core-prim . eval-core)] [load load-label (core-prim . load)] [assembler-output assembler-output-label (core-prim . assembler-output)] [current-expand current-expand-label (core-prim . current-expand)]