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

2 ответа

Универсальный тип трансформеров в Хаскеле

Логически можно определить универсальную функцию преобразования, которая может преобразовывать любой тип в любой. Возможный путь: {-#LANGUAGE MultiParamTypeClasses #-} {-#LANGUAGE FlexibleInstances #-} class FromTo a b where fromTo:: a->b ...

2 ответа

 было бы

сь лучше понять Applicative, я рассмотрел определение <*>, которое обычно определяется как ap, которое, в свою очередь, определяется как: ap :: (Monad m) => m (a -> b) -> m a -> m b ap = liftM2 idПосмотрим на сигнатуры типов для liftM2 и id, а ...

2 ответа

Что делает (ф.). значит в Хаскеле?

Я видел много функций, определяемых в соответствии с шаблоном(f .) . g, Например: countWhere = (length .) . filter duplicate = (concat .) . replicate concatMap = (concat .) . mapЧто это значит?

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

3 ответа

Государственная монада, последовательности случайных чисел и монадический код

Я пытаюсь понять Государственную Монаду, и с этой целью я хотел написать монадический код, который генерировал бы последовательность случайных чисел, используя линейный конгруэнтный генератор (вероятно, не очень хорошо, но я собираюсь просто ...

2 ответа

 в вашем коде?

дал кусок кода это: intToDigit :: Char -> Int ord :: Char -> Int intToDigit c = ord c - ord 'a' Однако, когда я запускаю его, я получаю это сообщение об ошибке: ChangeVowels.hs: 2: 1: в сигнатуре типа для `ord 'отсутствует ...

1 ответ

[Я могу вернуться и опубликовать код, чтобы следовать этому совету, но если я этого не сделаю, просто попробуйте адаптировать код TomMD, что является шагом в правильном направлении]

ько начал изучать Haskell. Ниже приведен код, написанный в императивном стиле, который реализует простой сервер - он печатает заголовки HTTP-запроса. Помимо того, что мне нужно переосмыслить это в Haskell, работать с отложенными списками и ...

1 ответ

Это полезно для таких хитростей, как построение неизменного двусвязного списка (который также может быть круговым). Также полезно обходить один раз «b», чтобы получить аналитическое «d» (например, длину или самый большой элемент) и построить новую структуру «c», которая зависит от «d». Лень избегает необходимости пересекать 'b' дважды.

значениях стрелок и делений вы можете использовать ключевое слово rec для написания рекурсивных определений. Так, например: rec name <- function -< input input <- otherFunction -< nameКак это можно оценить? Кажется, что это просто войдет в ...

4 ответа

могут быть составлены и т. д.

рживает ли он такие понятия, как разделение объявления и реализации (интерфейсы и классы в Java)? Как насчет ограничения доступа (например, модификаторов доступа в Java)?

5 ответов

Как написать монаду, которая печатает «шаг i из N» при выполнении каждого оператора в монаде?

Я даже не уверен, что это возможно в любой монаде; это нарушает законы монады? Но кажется, что-то, что должно быть возможно в той или иной конструкции. Конкретно есть ли способ иметь что-то, что я могу написать что-то вроде do someOp () ...

1 ответ

Установка и сборка GHC с OSX Mavericks GHC

Почему мой GHC 7.6.3 не работает после обновления до OSX Mavericks?