Результаты поиска по запросу "type-families"

3 ответа

Типовые ограничения для всех экземпляров семейства типов

Полагаю, что я хочу, невозможно без Template Haskell, но я все равно спрошу. У меня есть интерфейс для таких типов, какData.Set а такжеData.IntSet: type family Elem s :: * class SetLike s where insert :: Elem s -> s -> s member :: Elem s -> s ...

1 ответ

Можно ли ввести дополнительные переменные типа в ограничение суперкласса?

При работе с семействами типов часто удобно использовать ограничения на равенство, чтобы избежать необходимости повторять имя какой-либо функции типа в сигнатуре: class Foo f where type BulkyAssociatedType f :: * foo :: BulkyAssociatedType f -> ...

2 ответа

Непонятное сообщение об ошибке с семействами типов

Я пытаюсь понять тип семьи без особого успеха. Вот минимальный пример: {-# LANGUAGE TypeFamilies #-} class Object obj where type Unit obj :: * unit :: Unit obj instance (Object obj, Object obj') => Object (obj, obj') where type Unit (obj, obj') ...

ТОП публикаций

2 ответа

«семейство типов» против «семейства данных», вкратце?

Я не знаю, как выбрать между

2 ответа

 это очень, очень странно в моих глазах.

ел бы получить следующий пример для проверки типа: {-# LANGUAGE AllowAmbiguousTypes #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} module Foo where f :: Int -> (forall f. Functor f => Secret f) -> ...

1 ответ

Получение экземпляров с помощью TypeFamilies

У меня есть тип классаFoo со связанным типом: {-# LANGUAGE TypeFamilies #-} class Foo a where type Bar a foo :: a -> Bar a Теперь я хочу определить тип данных, который содержит один из связанных типов, и получитьShow пример для этого: data Baz ...

2 ответа

Непонятное сообщение об ошибке с семействами типов

Я пытаюсь понять тип семьи без особого успеха. Вот'Это минимальный пример:

1 ответ

Можно ли ввести дополнительные переменные типа в ограничение суперкласса?

При работе с семействами типов часто удобно использовать ограничения на равенство, чтобы избежать необходимости повторения некоторой функции типа 'имя в ...

3 ответа

Как наложить ограничения на связанные данные?

1 ответ

Ограничение класса типа для экземпляров семейства типов

Можно ли указать ограничение класса типов, которое должно выполняться всеми экземплярами семейства типов?Например, учитывая следующее объявление, как я могу ...