Important changes since 2.2.2:
- Change to the semantics of "
open import
" and "open module
". The declarationopen import M <using/hiding/renaming>
now translates toimport A open A <using/hiding/renaming>
instead ofimport A <using/hiding/renaming> open A.
The same translation is used for "open module M = E …
". Declarations involving the keywordsas
orpublic
are changed in a corresponding way ("as
" always goes withimport
, and "public
" always withopen
). This change means that import directives do not affect the qualified names whenopen import
/module
is used. To get the old behaviour you can use the expanded version above. - Names opened publicly in parameterised modules no longer inherit the module parameters. Example:
module A where postulate X : Set module B (Y : Set) where open A public
- In Agda 2.2.2
B.X
has type(Y : Set) → Set
, whereas in Agda 2.2.4B.X
has typeSet
.
- Previously it was not possible to export a given constructor name through two different "
open public
" statements in the same module. This is now possible. - Unicode subscript digits are now allowed for the hierarchy of universes (
Set₀
,Set₁
, …):Set₁
is equivalent toSet1
.
Page last modified on July 07, 2009, at 08:38 pm
Powered by
PmWiki