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

_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to