summaryrefslogtreecommitdiff
path: root/scheme/plt/geiser/eval.ss
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-07-02 05:29:04 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-07-02 05:29:04 +0200
commit710d0cec8854a4e89f4948d49e614f286913f711 (patch)
tree7e15b14bc96863698c2a10f15098984872113911 /scheme/plt/geiser/eval.ss
parentba38e61e768a5e2b6ccdebc09262e3186a8cf15b (diff)
downloadgeiser-chez-710d0cec8854a4e89f4948d49e614f286913f711.tar.gz
geiser-chez-710d0cec8854a4e89f4948d49e614f286913f711.tar.bz2
Simpler, nicer, more efficient handling of evaluation results. It
comes with a pony too.
Diffstat (limited to 'scheme/plt/geiser/eval.ss')
-rw-r--r--scheme/plt/geiser/eval.ss8
1 files changed, 6 insertions, 2 deletions
diff --git a/scheme/plt/geiser/eval.ss b/scheme/plt/geiser/eval.ss
index 435b73b..5ae81ed 100644
--- a/scheme/plt/geiser/eval.ss
+++ b/scheme/plt/geiser/eval.ss
@@ -49,8 +49,12 @@
(set! last-result `((error (key . ,(exn-key e)))))
(display (exn-message e)))
-(define (set-last-result v . vs)
- (set! last-result `((result ,v ,@vs))))
+(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 (eval-in form spec)
(set-last-result (void))