[Agda] Renaming of a module, associated with a record, doesn't
hide the original name.
Nicolas Pouillard
np at nicolaspouillard.fr
Mon Aug 10 14:45:35 CEST 2015
On 08/10/2015 10:09 AM, Andreas Abel wrote:
> Maybe it is worth continuing the discussion on the Agda list, if we talk
> about changes to the Agda language.
>
> Here is a proposal:
>
> * Remove qualification by data/record type name.
I find this feature useful, for instance to qualify certain
data-constructors for instance:
```
suc-inj : ∀{x y} → ℕ.suc x ≡ suc y → x ≡ y
```
> * default to applying renaming/using/hiding also to the module
> * if renaming/using/hiding is given for a module name explicitly, it
> overrides the default behavior
I'm in favor of this change though. Some old code which explicitly
mention both namespaces should still be accepted:
```
open M using (module X; X) hiding (module Y; Y)
```
This way the only non-backward compatible situation requires to hide the
module:
Before:
```
open M using (X)
```
After:
```
open M using (X) hiding (module X)
```
Best regards,
-- NP
More information about the Agda
mailing list