On 5/20/05, Michele Simionato <[EMAIL PROTECTED]> wrote:
> On 5/20/05, felix winkelmann <[EMAIL PROTECTED]> wrote:
> > I usually recommend
> >
> > (require-extension match)
> >
> > instead of `(require 'match)', though.
> 
> Is there any practical difference?
> 

`require' works at run-time. But in compiled code you want to
have the macro definitions at compile-time.
`require-extension' knows about "special" extensions (like match)
and handles syntactic extensions of eggs (provided the setup
script adds the necessary properties at installation).

`require' is sometimes useful when you want to load extensions
lazily at runtime, or when you just need a "load-once" operation.
`require-for-syntax' is sometimes useful when you have situations
where a syntactic extension needs to load support code at compile-
time.

One should _always_ use `require-extension' (it also expands into
`(declare (uses ...))' forms for the builtin extensions like srfi-1, etc.),
since it usually just does "the right thing".

And finally: `use' is just an alias for `require-extension'.


cheers,
felix


_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to