summaryrefslogtreecommitdiff
path: root/scheme/plt/geiser/eval.ss
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2010-05-23 23:10:52 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2010-05-23 23:10:52 +0200
commit94f76a1565f09d189d9f2cef6d3df7860321709e (patch)
tree766fd38a46c3cd5dd4835ec73f57598d698466cf /scheme/plt/geiser/eval.ss
parentacceb169d10e6096124a79b57d1c7e2dc447d37d (diff)
downloadgeiser-chez-94f76a1565f09d189d9f2cef6d3df7860321709e.tar.gz
geiser-chez-94f76a1565f09d189d9f2cef6d3df7860321709e.tar.bz2
Racket support (PLT 5 needed).
Diffstat (limited to 'scheme/plt/geiser/eval.ss')
-rw-r--r--scheme/plt/geiser/eval.ss81
1 files changed, 0 insertions, 81 deletions
diff --git a/scheme/plt/geiser/eval.ss b/scheme/plt/geiser/eval.ss
deleted file mode 100644
index e806138..0000000
--- a/scheme/plt/geiser/eval.ss
+++ /dev/null
@@ -1,81 +0,0 @@
-;;; eval.ss -- evaluation
-
-;; Copyright (C) 2009, 2010 Jose Antonio Ortega Ruiz
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the Modified BSD License. You should
-;; have received a copy of the license along with this program. If
-;; not, see <http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5>.
-
-;; Start date: Sun Apr 26, 2009 00:44
-
-#lang scheme
-
-(provide eval-in
- compile-in
- load-file
- compile-file
- macroexpand
- make-repl-reader)
-
-(require scheme/enter geiser/modules geiser/autodoc)
-
-(define last-result (void))
-
-(define namespace->module-name
- (compose module-path-name->name namespace->module-path-name))
-
-(define last-namespace (make-parameter (current-namespace)))
-
-(define (exn-key e)
- (vector-ref (struct->vector e) 0))
-
-(define (set-last-error e)
- (set! last-result `((error (key . ,(exn-key e)))))
- (display (exn-message e)))
-
-(define (write-value v)
- (with-output-to-string
- (lambda () (write v))))
-
-(define (set-last-result . vs)
- (set! last-result `((result ,@(map write-value vs)))))
-
-(define (call-with-result thunk)
- (set-last-result (void))
- (let ((output
- (with-output-to-string
- (lambda ()
- (with-handlers ((exn? set-last-error))
- (call-with-values thunk set-last-result))))))
- (append last-result `((output . ,output)))))
-
-(define (eval-in form spec lang)
- (call-with-result
- (lambda ()
- (update-signature-cache spec form)
- (eval form (module-spec->namespace spec lang)))))
-
-(define compile-in eval-in)
-
-(define (load-file file)
- (call-with-result
- (lambda ()
- (load-module file (current-output-port) (last-namespace))
- (update-signature-cache file))))
-
-(define compile-file load-file)
-
-(define (macroexpand form . all)
- (let ((all (and (not (null? all)) (car all))))
- (with-output-to-string
- (lambda ()
- (pretty-print (syntax->datum ((if all expand expand-once) form)))))))
-
-(define (make-repl-reader builtin-reader)
- (lambda (ns)
- (last-namespace ns)
- (printf "mzscheme@~a" (namespace->module-name ns))
- (builtin-reader)))
-
-;;; eval.ss ends here