Я пытаюсь написать запись в Идрисе, но у нее есть общий параметр, который должен быть ограничен интерфейсом. Для обычных типов объединения я могу написать:
data BSTree : (a : Type) -> Type where
Empty : Ord a => BSTree a
Node : Ord a => BSTree a -> a -> BSTree a
но я пытаюсь выяснить синтаксис для того же самого, только с записью. Я пробовал что-то вроде:
record Point a where
constructor MkPoint : Eq a => a -> a -> Point a
x : a
y : a
но он не компилируется.
Есть ли способ сделать это в Идрисе?
TIA