typeclass

Я пытаюсь написать класс типов для графов. В принципе, класс typeclass выглядит следующим образом: class Graph g where adjacentNodes :: g n -> n -> [n] , в котором я использую n для представления типа узлов. Тогда у меня есть следующее Graph, определенное следующим образом: data FiniteGraph n =...

Следующий код не компилируется: class Foo f where getInt :: f -> Int class Bar b where getFooFromBar :: Foo f => b -> f someFunction :: Bar b => b -> Int someFunction bar = getInt $ getFooFromBar bar Ошибка Could not deduce (Foo f) arising from a use of 'getInt' from the context (Bar ...

Это моя первая попытка создать пользовательский экземпляр класса, такого как Ord. Я определил новую структуру данных для представления списка: data List a = Empty | Cons a (List a) deriving (Show, Eq) Теперь я хочу определить новый экземпляр Ord для List таким образом, что List a Прежде всего, не...

Рассматривая тип с видом * -> *, я пытаюсь найти правила и построить интуицию для того, когда вы можете и когда вы не можете иметь функтор для этого типа. Пока что правила, которые я вижу, следующие: нет экземпляра Functor для типов контейнеров, имеющих ограничения о содержащихся в них значениях. Прим...

Что такое класс Comonad в Haskell? Как в Комонаде от управление.Comonad в пакете comonad (также приветствуются объяснения любых других пакетов, предоставляющих класс Comonad). Я смутно слышал о Comonad, но все, что я действительно знаю об этом, это то, что обеспечивает extract :: w a -> a, что-то вроде пар...

пока я учусь Хаскелл, я заметил его класс, который, как предполагается, является великим изобретением, которое произошло от Haskell. однако, в страница Википедии на типе class: программист определяет класс типа путем указания набора функций или постоянные имена вместе с их соответствующими типами, кото...

Я только что установил PHP на Ubuntu Natty из исходного кода. Я пытаюсь использовать PECL для установки дополнительных модулей, таких как APC и Memcache. Я использую что-то вроде этого: pecl install apc однако, я получаю подсказки с просьбой подтвердить вещи. Как я могу использовать команду pecl, чтобы п...

Я пытаюсь установить ImagicK, как это требуется для расширения Yii, которое я хочу использовать для своего проекта. Я проверил и последовал нескольким различным предложениям, но ничего, что работало до сих пор, в конечном итоге расширение фреймворка все еще бросает мне ошибку (должно быть, ImagicK установле...

я запускаю команду:sudo pecl install apc файл загружается, конфигурация выполняется успешно, затем make запускается и я получаю следующую ошибку. /usr/include/php5/ext/pcre/php_pcre.h:29: fatal error: pcre.h: No such file or directory есть ли способ это исправить?...

задав этот вопрос, чтобы прояснить мое понимание классов типов и более высоких типов kinded, я не ищу обходных путей в Java. в Haskell, я мог бы написать что-то вроде class Negatable t where negate :: t -> t normalize :: (Negatable t) => t -> t normalize x = negate (negate x) затем при усло...