[Top][All Lists]
[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