This does not type check:
module Annoying where data A : Set where a₁ : A a₂ : A data B : A -> Set where b₁ : B a₁ b₂ : B a₂ module M (a : A) where id : B a -> B a id b₁ = b₁ id b₂ = b₂
The reason is that the parameter a
to M
is fixed when id
is type checked, so it cannot be instantiated to a₁
or a₂
. This can be annoying, and the workaround is to inline the module M
(or distribute the parameter a
to all functions in M
), which makes the code less modular. Hence I suggest that the type checker should be more flexible, so that it can handle this example.
Page last modified on October 05, 2007, at 03:08 pm
Powered by
PmWiki