Когда я пытаюсь скомпилировать этот пример
record R where
f: () -> {t: Type} -> t
Я получаю эту ошибку:
Type mismatch between
() -> t1 (Type of f)
and
() -> t (Expected type)
Specifically:
Type mismatch between
t1
and
t
С другой стороны, этот пример
record R where
f: {t: Type} -> () -> t
работает просто отлично. Можете ли вы сказать мне, что не так с первым?
data D: Type where MkD: (f: () -> {t: Type} -> t) -> D
- person Gregg54654   schedule 17.09.2017{t: Type} -> t
типа функции говорит, что для заданного типа любого вы можете построить терм этого типа. Но это невозможно, например. для пустого типа (Void
). - person Anton Trunov   schedule 18.09.2017