racket/collects/web-server/lang.ss
Jay McCarthy acef860a60 Unit contracts
svn: r13711
2009-02-17 22:11:14 +00:00

28 lines
917 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-for-syntax anormalize (make-anormal-term elim-letrec-term))
(define-syntax lang-module-begin
(make-lang-module-begin
make-labeling
(make-module-case/new-defs
(make-define-case/new-defs
(lambda (stx)
(define anf-stx (anormalize stx))
(define no-callcc-stx (elim-callcc anf-stx))
(define-values (defun-stx new-defs) (defun no-callcc-stx))
(values defun-stx new-defs))))))