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

2 ответа

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

Я не знаю, как выбирать междуdata family а такжеtype family, Вики-страница на TypeFamilies [http://www.haskell.org/haskellwiki/GHC/Type_families#Injectivity.2C_type_inference.2C_and_ambiguity] уходит во многие детали. Иногда это неофициально ...

1 ответ

(Конечно, версия с постоянным временем опасна, поскольку переданная функция может быть не тотальной.)

отрим это определениеzip для обычной длины векторов, индексируемых цифрами Пеано: {-# language DataKinds #-} {-# language KindSignatures #-} {-# language GADTs #-} {-# language TypeOperators #-} {-# language StandaloneDeriving #-} {-# language ...

1 ответ

случаи использования семейства данных

Преимущества использования типасиноним Семейства понятны - это функции уровня типа. Но это не так сданные семьи - так что мой вопрос, что такое варианты использования для семейства данных? Где я должен использовать это?

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

1 ответ

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

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

2 ответа

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

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

2 ответа

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

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

3 ответа

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

1 ответ

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

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

1 ответ

В моем последнем комментарии я имел в виду «для каждого закрытого семейства данных».

ледующие работы: {-# 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 CTF Int ...

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') ...