[plt-scheme] Fw: [Schematics-development] porting SRFIs to PLT
This is a recent thread in Schematics-development which
I think could be further discussed here.
--- Jens Axel Søgaard <jensaxel at soegaard.net> wrote:
> From: Jens Axel Søgaard <jensaxel at soegaard.net>
> CC: schematics development
> <schematics-development at lists.sourceforge.net>
> Subject: Re: [Schematics-development] porting SRFIs
> to PLT
> Date: Mon, 09 May 2005 15:10:48 +0200
>
>
> The question of how to load srfi-1 in mzscheme comes
> up
> again and again. The reasons are 1) that people
> think it
> is loaded like the rest of the srfis, 2) that people
> use mzscheme and doesn't check the HelpDesk 3) that
> the special way of loading srfi-1 is mentioned at
> the bottom
> of the page explaining srfis in the HelpDesk. [and
> since
> it isn't on screen most people miss it]
>
> The beginner friendly solution of letting (lib (lib
> "1.ss" "srfi"))
> names conflicting with mzscheme with a prefixed s:
> would
> work until people incidently need the corner case,
> where there
> is a difference. The problem is that they never get
> a warning.
>
> The fail-early approach is to export the conflicting
> names
> in (lib "1.ss" "srfi") which will force users to
> choose between
> the conflicting names -- this requires more
> knowledge of the
> module system.
>
> Since bugs in situations without warnings are hard
> to catch, the
> fail-early approach is probably best. BUT it
> requires the
> documentation to include examples.
>
> In short, I think it would be best if (lib "43.ss"
> "srfi"))
> exported delay, force and promise with the
> srfi-semantics and,
> say, (lib "no-conflicts.ss" "43" "srfi") exported
> the both
> the mzscheme ones (with normal names) and the srfi
> ones
> (with a prefixed s:).
>
>
> Alternatively, we could lobby for extra syntax to
> specify
> the srfis together with the base language - and let
> the
> module system handle conflicts.
>
> E.g.
>
> (module foo (mzscheme srfi-1 srfi-47)
> <top-level-exprs>)
>
> "expands" to
>
> (module foo
> mzscheme-without-srfi-1-and-srfi-47-names
> (require (lib "1.ss" "srfi"))
> (require (lib "47.ss" "srfi"))
> <top-level-exprs>)
>
> --
> Jens Axel Søgaard
>
>
>
= = = = = = This is a forward message = = = = = = =
Original sender's name: Michael Sperber
Original sender's address: sperber at informatik.uni-tuebingen.de
>
>Scheme 48 has something like this: it maintains a list of shadowed
>identifiers in the various SRFIs and then does the right thing wrt
>SRFI 7.
>
>--
>Cheers =8-} Mike
>Friede, Völkerverständigung und überhaupt blabla
>
>
>_______________________________________________
>Schematics-development mailing list
>Schematics-development at lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/schematics-development
= = = = = = = = = = = = = = = = = = = =
Chongkai Zhu