chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] match-let and hygiene incompatible?


From: felix winkelmann
Subject: Re: [Chicken-users] match-let and hygiene incompatible?
Date: Fri, 20 May 2005 10:20:11 +0200

On 5/20/05, Michele Simionato <address@hidden> wrote:
> On 5/20/05, felix winkelmann <address@hidden> wrote:
> <snip virtues of require-extension>
> 
> So you are saying there no good use cases for require? Then you should say
> in the manual that require is deprecated and it is there only for
> backward compatibility. Idem for require-for-syntax if
> require-extension can do its job.

No, `require' and `require-for-syntax' are essentially the foundation
on top of which `require-extension' is built and are necessary for
certain jobs. Deprecation means something else. I will try to document this in a
better way (or would you like to help me with that? ;-).

> Or there are issues if the library is not packaged as an egg?
> I am still a bit confused about that.

`require-extension' is identical to `require' for non-extensions (i.e. for
normal .scm or .so files). `require-for-syntax' may be needed in
certain situations where a extension (or a source file, or a compiled
file) should be loaded exclusively at compile-time.

It's highly confusing, absolutely right. But the problem behind it is
fundamental: how to handle the different phases (compile-time and
run-time) and the dependencies  of syntactic and non-syntactic
extensions in compiled and interpreted code and most importantly:
to make this work in a batch-compilation model (PLTs sophisticated
module system addresses the first part, but IMHO not the latter).

So my approach is to make it easy (well, as easy as I can)
 to use for the client (the user of an extension) by just using 
`require-extension', and to push the hard work to the extension-
implementor who has to fiddle around with the lower level parts
(require/require-for-syntax and the .setup script mumbo-jumbo).


cheers,
felix




reply via email to

[Prev in Thread] Current Thread [Next in Thread]