diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-07-02 05:29:04 +0200 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-07-02 05:29:04 +0200 |
commit | 710d0cec8854a4e89f4948d49e614f286913f711 (patch) | |
tree | 7e15b14bc96863698c2a10f15098984872113911 /scheme/plt/geiser/eval.ss | |
parent | ba38e61e768a5e2b6ccdebc09262e3186a8cf15b (diff) | |
download | geiser-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.ss | 8 |
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)) |