[plt-scheme] an r6rs library compatible repl?

From: Rohan Drape (rohan.drape at gmail.com)
Date: Thu Mar 20 03:25:43 EDT 2008

mflatt:
> No. Our plan to address this mismatch is to offer a variant of each
> R6RS library --- except `(rnrs mutable-pairs)' --- that uses immutable
> pairs. When that's ready, you'll be able to write
>
>   > (require rnrs/lists-i-6)
>   > (filter even? (list 1 2 3 4 5))

derick.eddington:
> To get an R6RS REPL, which makes mutable pairs, I've been using a
> DrScheme buffer with the language set to "Module" and with something
> like the following in the Definitions Window:
> 
> #!r6rs
> (import (rnrs))

hmmm.  that is excellent news!  and moreover, using:

#!r6rs
(import (rnrs)
        (scheme udp))

gives:

Welcome to DrScheme, version 3.99.0.17-svn9mar2008 [3m].
Language: Module; memory limit: 128 megabytes.
> (filter even? (list 1 2 3 4 5))
{2 4}
> udp?
#<procedure:udp?>
> 

which is an r6rs+udp repl.  i wonder if it possible to make 
this work using mzscheme?

mflatt:
> Your message prompted me to follow up on Jos Koot's solution to this
> problem:
>
>  http://list.cs.brown.edu/pipermail/plt-scheme/2008-March/023709.html

which is very nice, i will move to 0.20 next week.  however it seems 
that just pretending that plt modules are r6rs libraries works already!

regards,
rohan

ps.  in fact this:

#!r6rs
(import (rnrs)
	(rhs r6rs rhs)
	(sosc plt sosc)
	(sosc plt transport)
	(rsc3 plt rsc3))
(define with-sc3 with-udp-sc3)
(define audition (audition-using with-udp-sc3))

allows:

Welcome to DrScheme, version 3.99.0.17-svn9mar2008 [3m].
Language: Module; memory limit: 128 megabytes.
> (audition (out 0 (mul (sin-osc ar 440 0) 0.1)))
#t
> (with-sc3 reset)
#t
> 

(with the supercollider synthesiser installed).



Posted on the users mailing list.