> I wasn't thinking of that at all, merely that the proverbial toaster
> obviously doesn't contain a file system
Oh, I see. But the toaster doesn't have a REPL either, which I think will
turn out to be the central difference between what I'm thinking of as a
WG1 customer (REPL) and a WG2 customer (no REPL). All those /features/
that everyone else is worrying about will be in libraries that either
language can load; it's just that every WG2 implementation /promises/ to
support them all, whereas the WG1 implementations just /do/ support
them without having promised. :-)
Unless it turns out that something in WG2 breaks the jewel-like beauty of
Scheme, in which case WG1-Scheme implementations won't support it.
F'rinstance, WG1 implementations will have a library along the lines of
(define *value-tag* (cons '() '()))
(define (values . vals) (cons *value-tag* vals))
(define (call-with-values giver getter)
(let ((val-list (giver)))
(if (and (list? val-list)
(not (null? val-list))
(eq? (car val-list) *value-tag*))
(apply getter (cdr val-list))
(getter val-list))))
... which probably has some bug in it but you get the idea.
But WG1-Scheme should, ironically, support some things not in WG2-Scheme,
such as load, trace, transcript-on. And its identiiers should be
case-insensitive, dammit! WG2-Scheme's identiiers can be pom-sensitive
for all I care. :-)
_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss