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

1 ответ

Использование границ контекста «отрицательно», чтобы гарантировать, что экземпляр класса типа отсутствует в области видимости

ТЛ; др: Как мне сделать что-то вроде приведенного ниже кода: def notFunctor[M[_] : Not[Functor]](m: M[_]) = s"$m is not a functor" 'Not[Functor]', будучи здесь выдуманной частью. Я хочу, чтобы он был успешным, когда указанная буква m не является ...

1 ответ

Попытка рассматривать классы и подтипы типов как наборы и подмножества

Этот вопрос связан с моим предыдущим вопросом оклассы типа [https://stackoverflow.com/questions/15889860], Я задаю этот вопрос, чтобы задать будущий вопрос о локалях. Я не думаю, что классы типов будут работать для того, что я пытаюсь сделать, но ...

1 ответ

Несовместимые экземпляры Eq и Ord?

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

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

1 ответ

Что происходит в подписи этого типа? (Vector.Mutable модификаторы в Haskell)

У мутабельных векторов в Haskell есть три мутатора уровня элемента: read :: PrimMonad m => MVector (PrimState m) a -> Int -> m a write :: Pr,imMonad m => MVector (PrimState m) a -> Int -> a -> m () swap :: PrimMonad m => MVector (PrimState m) a ...

1 ответ

Просмотр определения класса типов в ghci для определенного типа

Есть ли способ увидеть определение класса типов в ghci для определенного типа? Например,Maybe определяется так: instance Functor Maybe where fmap f (Just x) = Just (f x) fmap f Nothing = NothingМогу ли я увидеть это в GHCI? Когда я ...

1 ответ

Как реализован класс типов Eq для пользовательских типов?

Для какого-то определенного пользователем типа, такого как ниже, как работает реализация класса типов Eq? Это просто написать реализацию для таких вещей, как Int или Float. Но как сделать ловушку для всех пользовательских типов, так как для этого ...

1 ответ

Либеральное условие покрытия, введенное в коде GHC 7.7, действует в GHC 7.6.

Идея Я пишуDSL [http://en.wikipedia.org/wiki/Domain-specific_language], который компилируется в Haskell. Пользователи этого языка могут определять собственные неизменяемые структуры данных и связанные с ними функции. Под ассоциированной ...

1 ответ

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

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

2 ответа

Типовые многопоточные гетерогенные списки и дефолты (?) С семействами типов?

Я работаю над библиотекой, в которой я хочу определить рекурсивный класс, который я упростил здесь:

2 ответа

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