From 79ed93a92543663235d5230ba981b03f1483bf0c Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Wed, 8 Jun 2011 18:15:27 -0700 Subject: [PATCH] Add `racket/kernel' as language with very low startup time. --- collects/racket/kernel.rkt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 collects/racket/kernel.rkt diff --git a/collects/racket/kernel.rkt b/collects/racket/kernel.rkt new file mode 100644 index 0000000000..6f8a260f2e --- /dev/null +++ b/collects/racket/kernel.rkt @@ -0,0 +1,18 @@ +(module kernel '#%kernel + (#%require (for-syntax '#%kernel)) + + ;; this is duplicated from "racket/private/pre-base.rkt" + ;; but i'm not sure that file should require this one + (define-syntaxes (#%top-interaction) + (lambda (stx) + (if (eq? 'top-level (syntax-local-context)) + 'ok + (raise-syntax-error + #f + "not at top level" + stx)) + (if (symbol? (syntax-e stx)) + (raise-syntax-error #f "bad syntax" stx) + (datum->syntax stx (cdr (syntax-e stx)) stx stx)))) + + (#%provide (all-from '#%kernel) #%top-interaction)) \ No newline at end of file