guile-prescheme/language/prescheme/spec.scm
2022-07-19 20:20:21 +10:00

24 lines
687 B
Scheme

;;; Copyright 2022 Andrew Whatson
(define-module (language prescheme spec)
#:use-module (system base language)
#:use-module (language scheme compile-tree-il)
#:use-module (language scheme decompile-tree-il))
(define (reader port env)
(read-syntax port))
(define (default-environment)
(let ((m (make-module)))
(module-use! m (resolve-interface '(language prescheme core)))
m))
(define-language prescheme
#:title "Pre-Scheme"
#:reader reader
#:printer write
#:compilers `((tree-il . ,compile-tree-il))
#:decompilers `((tree-il . ,decompile-tree-il))
#:evaluator (lambda (x module) (primitive-eval x))
#:make-default-environment default-environment)