[plt-scheme] Fw: [Schematics-development] porting SRFIs to PLT

From: Chongkai Zhu (mathematica at citiz.net)
Date: Sun May 15 07:30:05 EDT 2005

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

Posted on the users mailing list.