haskell

  • 1243 рейтинг
    44 ответов
    Что такое монада?

    Кратко рассмотрев недавно Хаскелла, каким было бы краткое, лаконичное и практичное объяснение на относительно того, что в действительности представляет собой монада?

    Я обнаружил, что большинство объяснений, с которыми я столкнулся, было довольно недоступным и лишенным практических деталей.

  • 758 рейтинг
    15 ответов
    Начало работы с Haskell

    В течение нескольких дней я пытался обернуть голову вокруг парадигмы функционального программирования в Haskell. Я сделал это, читая учебные пособия и просматривая скринкасты, но на самом деле, похоже, ничего не осталось. Теперь, изучая различные императивные / OO языки (такие как

    ...
  • 616 рейтинг
    12 ответов
    В чем разница между . (точка) и $ (знак доллара)?

    В чем разница между точкой (.) и знаком доллара ($)? , Насколько я понимаю, они оба являются синтаксическим сахаром для того, чтобы не использовать скобки.

  • 559 рейтинг
    8 ответов
    Масштабный дизайн в Haskell?

    Что такое хороший способ для разработки / структурирования больших функциональных программ, особенно в Haskell?

    Я прошел через кучу уроков («Пишу себе схему» - моя любимая, с реальным миром на Haskell), но большинство программ относительно небольшие и одноцелевые. Кроме того, я

    ...
  • 257 рейтинг
    8 ответов
    Что делает ключевое слово `forall` в Haskell / GHC?

    Я начинаю понимать, как ключевое слово forall используется в так называемых «экзистенциальных типах», например:

    data ShowBox = forall s. Show s => SB s
    

    Это только подмножество того, как используется forall, и я просто не могу сосредоточиться на его

    ...
  • 221 рейтинг
    3 ответов
    Что означает восклицательный знак в декларации на Haskell?

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

    data MidiMessage = MidiMessage !Int !MidiMessage
    
  • 209 рейтинг
    7 ответов
    Каков ответ Haskell на Node.js?

    Я полагаю, что сообщество Erlang не завидует Node. Так как он изначально не блокирует ввод-вывод и имеет возможность легко масштабировать развертывания на более чем один процессор (что даже не встроено в Node). JS). Более подробная информация на http: // journal.

    ...
  • 162 рейтинг
    2 ответов
    Haskell: преобразование Int в строку

    Я знаю, что вы можете преобразовать число String в число с read:

    Prelude> read "3" :: Int
    3
    Prelude> read "3" :: Double 
    3.0
    

    Но как получить представление String значения Int?

  • 151 рейтинг
    2 ответов
    Реальные применения зигогистоморфных препроморфизмов в реальном мире

    Да, эти :

    {-#LANGUAGE TypeOperators, RankNTypes #-}
    import Control.Morphism.Zygo
    import Control.Morphism.Prepro
    import Control.Morphism.Histo
    import Control.Functor.Algebra
    import Control.Functor.Extras
    import Control.Functor.Fix
    import Control.Comonad.Cofree
    
    zygohistomorphic_prepromorphism 
      :: Functor f
      => Algebra f b
      -> GAlgebra f (ZygoT (Cofree f) b) a 
      -> (f :~>
    ...
  • 141 рейтинг
    7 ответов
    Последствия фолд против фолд (или фолд ')

    Во-первых, Real World Haskell , который я читаю, говорит, что никогда не следует использовать foldl и вместо этого использовать foldl'. Поэтому я верю в это.

    Но я не знаю, когда использовать foldr против foldl'. Хотя я вижу структуру

    ...
  • 140 рейтинг
    6 ответов
    В чем разница между Int и Integer?

    В Хаскеле, в чем разница между Int и Integer? Где ответ задокументирован?

  • 137 рейтинг
    5 ответов
    Как определить функцию в ghci через несколько строк?

    Я пытаюсь определить любую простую функцию, которая занимает несколько строк в ghci, возьмем следующее в качестве примера:

    let abs n | n >= 0 = n
              | otherwise = -n
    

    До сих пор я пытался нажать Enter после первой строки:

    ...
  • 120 рейтинг
    16 ответов
    Руководство для начинающих по Haskell?

    Я искал достойное руководство по Haskell в течение некоторого времени, но не смог найти того, которое кажется достаточно интересным для чтения и / или имеет смысл.

    У меня был опыт общения с Хаскеллом несколько лет назад, но я не могу

    ...
  • 116 рейтинг
    8 ответов
    Памятка в Хаскеле?

    Любые указатели на то, как эффективно решить следующую функцию в Haskell, для больших чисел (n > 108)

    f(n) = max(n, f(n/2) + f(n/3) + f(n/4))
    

    Я видел примеры запоминания в Хаскеле, чтобы решить Фибоначчи числа, которые включали вычисление (лениво) всех

    ...
  • 106 рейтинг
    22 ответов
    Почему ленивая оценка полезна?

    Я долго задавался вопросом, почему ленивая оценка полезна. Мне еще предстоит, чтобы кто-нибудь объяснил мне так, чтобы это имело смысл; в основном это сводится к тому, чтобы "доверять мне".

    Примечание: я не имею в виду запоминание.

  • 103 рейтинг
    4 ответов
    Что означает "@" символ означает в отношении списков в Haskell?

    Я наткнулся на фрагмент кода на Haskell, который выглядит так:

    ps@(p:pt)
    

    Что означает символ @ в этом контексте? Похоже, я не могу найти какую-либо информацию в Google (к сожалению, в Google трудно найти символы), и я не могу найти эту

    ...
  • 102 рейтинг
    8 ответов
    Haskell, Lisp и многословие

    Для тех из вас, кто имел опыт работы как с Haskell, так и с некоторыми разновидностями Lisp, мне любопытно, насколько «приятно» (если использовать ужасный термин) писать код на Haskell против Лисп.

    Немного предыстории: сейчас я изучаю Haskell, раньше работал с

    ...
  • 102 рейтинг
    17 ответов
    Что за шум вокруг Хаскелла?

    Я знаю нескольких программистов, которые продолжают говорить о Haskell, когда они между собой, и здесь, на SO, кажется, все любят этот язык. Быть хорошим в Хаскеле кажется чем-то отличительным признаком гениального программиста.

    Кто-нибудь может привести несколько примеров на Haskell, которые

    ...
  • 101 рейтинг
    6 ответов
    Как я могу использовать функциональное программирование в реальном мире?

    Функциональные языки хороши тем, что избегают ошибок, устраняя состояние, а также потому, что они могут быть легко распараллелены для вас автоматически, без необходимости беспокоиться о количестве потоков.

    Как разработчик Win32, могу ли я использовать Haskell для некоторых библиотек моего приложения?

    ...
  • 100 рейтинг
    4 ответов
    Рабочий процесс тестирования на Haskell

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

    Я смотрел в:

    ...