28 lines
881 B
Scheme
28 lines
881 B
Scheme
#lang scheme/base
|
|
(require (for-syntax scheme/base)
|
|
(for-syntax mzlib/etc)
|
|
(for-syntax mzlib/list)
|
|
(for-syntax "lang/labels.ss")
|
|
(for-syntax "lang/util.ss")
|
|
(for-syntax "lang/elim-letrec.ss")
|
|
(for-syntax "lang/anormal.ss")
|
|
(for-syntax "lang/elim-callcc.ss")
|
|
(for-syntax "lang/defun.ss")
|
|
"lang/lang-api.ss")
|
|
|
|
(provide (rename-out [lang-module-begin #%module-begin])
|
|
(all-from-out "lang/lang-api.ss"))
|
|
|
|
(define-syntax lang-module-begin
|
|
(make-lang-module-begin
|
|
make-labeling
|
|
(make-module-case/new-defs
|
|
(make-define-case/new-defs
|
|
(compose #;(lambda (stx) (values stx empty))
|
|
defun
|
|
elim-callcc
|
|
(make-anormal-term elim-letrec-term)
|
|
#;(make-anormal-term (lambda (x) x))
|
|
#;elim-letrec-term
|
|
)))))
|