This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: SRFI package for guile, rscheme, and maybe stalin (minor questions).


Rob Browning <rlb@cs.utexas.edu> writes:

> Mikael Djurfeldt <mdj@mdj.nada.kth.se> writes:
> 
> > Therefore, I think the right approach to the extension in SRFI-1 is
> > to let the core primitive be restricted to R5RS behaviour,
> > reimplement the primitive in the list library, and let the new
> > primitive shadow the original when the user uses the list library
> > module.
> 
> I had only thought that perhaps srfi-0 (i.e. cond-expand) could be put
> in the core (because otherwise there's a bootstrapping problem).

Yes.  This is the kind of infrastructure which must be supported in
the core.

> In any case, I didn't know whether or not top-level meant that only
> one or both of these constructs would be OK:
> 
>   (cond-expand
>     (guile something)
>     (else))
> 
>   (let ()
>     (something)
> 
>     (cond-expand
>       (guile (foo 4))
>       (else 5)))
> 
> I suspected that the second would also be considered top-level, but I
> wasn't sure.

I'm not familiar with the details of SRFI-0, but I can assure you that
the second case above is _not_ toplevel, because it is inside the
lexical scope of the surrounding let.

Best regards,
/mdj

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]