[gambit-list] My R6RS vote

Marijn Schouten (hkBst) hkBst at gentoo.org
Mon Aug 13 05:42:28 EDT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Marc Feeley wrote:
> The Scheme community will fragment and Scheme innovation will slowly die.

Are we not already fragmented?

There is no agreed upon standard way to even load SRFIs.

SRFI-55 [http://srfi.schemers.org/srfi-55/srfi-55.html] defines
require-extension to provide this functionality. Below you will find a simple
test. Note in particular that Bigloo, Gambit and MzScheme all fail to provide
this functionality, just like ELK, mit-scheme and scm. Only Chicken, Gauche,
Guile and stklos pass. I was under the impression that R6RS aimed to solve
this problem (but I may be wrong) and I am willing to swallow whatever else
has been put in if it does.

Marijn

Test-results of running:

echo "(display \"hello world\")(newline)(require-extension (srfi 1))(display
(make-list 4 'c))(newline)" | ./interpret

[interpret is a custom script of mine, to help me test multiple Schemes easily]

bigloo:
hello world
*** ERROR:eval:
Unbound variable (from top-level) -- require-extension

chicken:
hello world
(c c c c)

elk:
hello world
begin: unbound variable: require-extension
gambit:
hello world
*** ERROR IN (string)@1.5 -- Unbound variable: require-extension
gauche:
hello world
(c c c c)

guile:
hello world
(c c c c)

mit-scheme:
hello world
;Unbound variable: srfi
;To continue, call RESTART with an option number:
; (RESTART 3) => Specify a value to use instead of srfi.
; (RESTART 2) => Define srfi to a given value.
; (RESTART 1) => Return to read-eval-print level 1.

2 error>
End of input stream reached.
mzscheme:
hello world
reference to undefined identifier: require-extension
scm:
hello world

;ERROR: eval: unbound variable:  require-extension
; in expression: (require-extension (srfi 1))
; in top level environment.
; defined by eval

;STACK TRACE
1; (#@begin (#@display "hello world") (#@newline) (require-extens ...
2; ((#@thunk) (set! complete #t))
3; ((#@require (#@quote string-port)) (#@do-thunk (#@lambda () (( ...
4; ((#@case #@option #(#<unspecified> #f #\? #\: #\n #\u #\m #\s  ...
5; ((#@cond ((#@not #@*argv*) (#@set! #@*argv* (#@program-argumen ...

; program args: ("scm" "-e" "(begin (display \"hello
world\")(newline)(require-extension (srfi 1))(display (make-list 4
'c))(newline) (newline))")
stklos with full-syntax:
hello world
(c c c c)

stklos:
hello world
(c c c c)


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.5 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGwCeEp/VmCx0OL2wRAv4gAJ41hlsf8YocAKsyMOcDPZgakO4ecgCgi8Ng
wZAY/v+DhvvjcDHK2aA5aaM=
=wyMg
-----END PGP SIGNATURE-----



More information about the Gambit-list mailing list