[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Quiet re-imports
From: |
Diego |
Subject: |
Re: Quiet re-imports |
Date: |
Tue, 06 Apr 2021 14:37:50 +0000 |
> Diego's issue is that there's no way to make csi to not import scheme by
> default. So adding a flag for that would solve the issue.
More specifically, the issue is that it imports scheme, chicken.base, and
chicken.syntax by default. If there was a way to entirely disable the default
imports that would be useful. But this happens both at the csi level and at the
`eval` level, so it might be a bit tricky.
There's a bit more to it, I think - the issue also affects the behavior of eval
in compiled code, even when passing -explicit-use - it still has access to
bindings in those default imports. It also is still able to e.g. eval `print`
inside a module with only `scheme` imported.
Additionally, maybe relatedly, using -explicit-use still lets you use
chicken.base macros like assert, which is behavior I wouldn't expect.
> Do you have some other cases in mind where it's not possible to avoid these
> warnings?
I think csi usage is the main use-case, since `csi -s` and compiled code don't
seem to issue these warnings. I'd still argue it'd be nice to have some
optional flag to quiet the warnings just for interactive/REPL use. Or maybe
(import-quiet ...) or something.