Вопросы с тегом «haskell»

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

1
Почему этот код Haskell работает медленнее с -O?
Этот фрагмент кода Haskell работает намного медленнее -O, но не -Oдолжен быть опасным . Кто-нибудь может сказать мне, что случилось? Если это важно, то это попытка решить эту проблему , и она использует двоичный поиск и постоянное дерево сегментов: import Control.Monad import Data.Array data Node = Leaf Int -- value …

2
Что является комбинаторно-логическим эквивалентом интуиционистской теории типов?
Недавно я закончил университетский курс, посвященный Haskell и Agda (зависимый типизированный функциональный язык программирования), и мне было интересно, можно ли заменить в них лямбда-исчисление комбинаторной логикой. В Haskell это кажется возможным с использованием комбинаторов S и K, что делает его бессмысленным. Мне было интересно, что было эквивалентом для Агды. То …

4
Как использовать исправление и как оно работает?
Меня немного смутила документация для fix(хотя я думаю, что понимаю, что она должна делать сейчас), поэтому я посмотрела исходный код. Это сбило меня с толку: fix :: (a -> a) -> a fix f = let x = f x in x Как именно это возвращает фиксированную точку? Решил опробовать …


1
Как я могу заставить esqueleto сгенерировать для меня строку SQL?
Как я могу заставить esqueleto сгенерировать строку SQL из fromоператора? В документации toRawSqlуказано, что «вы можете просто включить постоянное ведение журнала запросов». Я пробовал все возможные формы, MonadLoggerкоторые мог понять, но он никогда не печатал SQL. В той же документации также говорится: «Использование этой функции вручную ... возможно, но утомительно». …

6
Осиротевшие экземпляры в Haskell
При компиляции моего приложения Haskell с -Wallопцией GHC жалуется на потерянные экземпляры, например: Publisher.hs:45:9: Warning: orphan instance: instance ToSElem Result Класс типа ToSElemне мой, он определен HStringTemplate . Теперь я знаю, как это исправить (переместить объявление экземпляра в модуль, в котором объявлен результат), и я знаю, почему GHC предпочел бы …
86 haskell  ghc  typeclass 

6
Оператор точки в Haskell: требуется дополнительное объяснение
Я пытаюсь понять, что делает оператор точка в этом коде Haskell: sumEuler = sum . (map euler) . mkList Полный исходный код ниже. Мое понимание Оператор точки принимает две функции, sumа также результат map eulerи результат в mkListкачестве входных данных. Но sumразве функция не является аргументом функции, верно? и так, …

17
Какой язык учить после Haskell? [закрыто]
В настоящее время этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, обратитесь …


1
Различие между классами типов MonadPlus, Alternative и Monoid?
Классы типов Haskell стандартной библиотеки MonadPlus, Alternativeи Monoidкаждый предоставляют два метода с практически одинаковой семантикой: Пустое значение: mzero, emptyили mempty. Оператор , a -> a -> aкоторый соединяет значения в классе типов вместе: mplus, <|>или mappend. Все три указывают эти законы, каких случаев следует придерживаться: mempty `mappend` x = x …

1
Как читать это «доказательство» GHC Core?
Я написал этот небольшой фрагмент Haskell, чтобы выяснить, как GHC доказывает, что для натуральных чисел вы можете уменьшить вдвое только четные: {-# LANGUAGE DataKinds, GADTs, KindSignatures, TypeFamilies #-} module Nat where data Nat = Z | S Nat data Parity = Even | Odd type family Flip (x :: Parity) …

3
Haskell: почему принято называть вспомогательную функцию «go»?
Я goмногое вижу, когда читаю материал или исходный код Haskell, но я никогда не чувствовал себя комфортно в этом - (я полагаю, это имеет негативный оттенок "goto" в моем сознании). Я начал изучать Haskell с LYAH, и именно здесь я уловил тенденцию использовать accи stepпри написании складок. Откуда взялось условное …

3
Почему Haskell (иногда) называют «лучшим императивным языком»?
(Надеюсь, этот вопрос по теме - я попытался найти ответ, но не нашел окончательного ответа. Если это не по теме или уже дан ответ, модерируйте / удалите его.) Я помню, как несколько раз слышал / читал полушутливые комментарии о том, что Haskell является лучшим императивным языком , что, конечно, звучит …

3
Схемы рекурсии для чайников?
Я ищу действительно простые и понятные объяснения схем рекурсии и схем коркурсии (катаморфизмы, анаморфизмы, гиломорфизмы и т. Д.), Которые не требуют перехода по множеству ссылок или открытия учебника теории категорий. Я уверен, что неосознанно заново изобрел многие из этих схем и «применил» их в своей голове в процессе кодирования (уверен, …

4
Haskell на JVM?
Мне интересно, есть ли способ заставить Haskell работать на JVM (скомпилированный или интерпретируемый)? На Sourceforge существует JHaskell, но этот кажется пустым и мертвым. GHC использует LLVM как серверную часть компилятора. Было бы неплохо или возможно скомпилировать LLVM в байт-код Java? Или, может быть, использовать другой бэкэнд компилятора?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.