[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] reexport - not working as expected (or I have wrong
From: |
Evan Hanson |
Subject: |
Re: [Chicken-users] reexport - not working as expected (or I have wrong expectations) |
Date: |
Sun, 22 Jul 2018 10:34:04 +1200 |
Hi Martin,
The reason for this behaviour is that `reexport' only manages syntax, i.e.
it imports and exports module identifiers but does not load libraries.
This is similar to the distinction between `use' and `import' in C4.
On 2018-07-21 14:31, Martin Schneeweis wrote:
> Isn't "reexport" supposed to import? (in chicken-5 there is no
> "use" (I think))
That's right, in C5 there is `import' (which corresponds to C4's `use')
and `import-syntax' (which is C4's `import').
> chicken-4: Yes, when I add "(use mod-a)" in mod-b then I can call
> "test-a" in mod-b - but calling "test-a" in mod-c still leads to the
> same runtime error
I believe that this will work as expected in C5.
> - and if I also have to include "(use mod-a)" in mod-c (or
> "(import mod-c)" in chicken-5) then the purpose of "reexport" is
> defeated. No?
I can see the case for making `reexport' load the implementation, and
potentially adding a `reexport-syntax' form to provide the current
syntax-only behaviour. I may open a feature ticket for this (or you can if
you have an account on bugs.call-cc.org), but this won't be changed in C4.
All the best,
Evan