Вопросы по теме 'type-families'
Примеры ошибок семейства простых типов, связанных с функцией не инъективного типа
Я безуспешно пытаюсь понять типовые семьи. Вот минимальный пример:
{-# LANGUAGE TypeFamilies #-}
class Object obj where
type Unit obj :: *
unit :: Unit obj
instance (Object obj, Object obj') => Object (obj, obj') where
type Unit (obj,...
515 просмотров
schedule
16.11.2023
Можно ли ввести дополнительные переменные типа в ограничение суперкласса?
При работе с семействами типов часто удобно использовать ограничения равенства, чтобы избежать повторения имени функции типа в сигнатуре:
class Foo f where
type BulkyAssociatedType f :: *
foo :: BulkyAssociatedType f -> f
...
bar ::...
210 просмотров
schedule
13.11.2023
Проблемы с реализацией подписки на массив в Haskell, связанной с EDSL
Контекст
Я пытаюсь реализовать EDSL, который немного напоминает IBM OLP (язык моделирования для линейного программирования).
Код
Код Haskell EDSL
{-# LANGUAGE GADTs #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE...
86 просмотров
schedule
19.11.2023
Попытайтесь понять концепцию семейства индексированных типов.
Со следующим определением:
Inductive eq (A : Type) (x : A) : A → Prop := eq refl : (eq x) x
Parameter a b : A.
Когда я рассматриваю один из его экземпляров eq a b , я читаю (eq a) типа A -> Prop .
Тогда мой вопрос заключается в...
162 просмотров
schedule
24.12.2023
Почему мы не можем определить закрытые семейства данных?
Все последующие работы:
{-# LANGUAGE TypeFamilies #-}
type family TF a
type instance TF Int = String
type instance TF Bool = Char
data family DF a
data instance DF Int = DFInt String
data instance DF Bool = DFBool Char
type family CTF a where...
608 просмотров
schedule
28.10.2022