Arend
Arend copied to clipboard
Usability problem with inheritance of classes with external parameters.
Current implementation of class inheritance behaves poorly when parent class has external parameters. For example, it forces the user to write all inherited parameters of the parent class in a new-expression.
\class C (foo : Unit)
\func lol (n : Nat) => n \where {
\class E \extends C {
| q : n = n
}
}
\func instance1 : lol.E => \new lol.E unit 1 { -- you have to specify all arguments of inherited class C!
| q => idp
}