0
ответов

Где экземпляры QuickCheck принадлежат клике package?

У меня есть пакет Cabal, который экспортирует тип NBT, который может быть полезен другим разработчикам. Я столкнулся с трудностями при определении экземпляра Arbitrary для своего типа, и было бы стыдно не ...
вопрос задан: 23 May 2017 12:16
0
ответов

Использование монад, моноидов, функторов и стрелок на практике

Недавно я наткнулся на этот пост о полезных ресурсах по различным аспектам функционального программирования, таким как монады, моноиды и т.д. Но вот вопрос - какую пользу может извлечь обычный программист...
вопрос задан: 23 May 2017 12:16
0
ответов

простые функции Haskell в стиле point-free

Я пытаюсь понять, как преобразовать функции в нотацию point-free в Haskell. Я видел этот пример, но он сложнее, чем то, что я ищу. Мне кажется, что я понимаю логику ...
вопрос задан: 23 May 2017 12:14
0
ответов

Как foldl lazy?

Есть много хороших вопросов и ответов о foldl, foldr и foldl 'в Haskell. Итак, теперь я знаю, что: 1) foldl ленивая 2) не используйте foldl, потому что она может взорвать стек 3) используйте foldl '...
вопрос задан: 23 May 2017 12:14
0
ответов

Статически связать GMP с приложением Haskell с помощью GHC (+ LLVM)

Как я могу отказаться от динамической зависимости от libgmp и перейти от этого: linux-vdso.so.1 => (0x00007fffdccb1000) libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fb01afc1000) libm.so.6 =>...
вопрос задан: 23 May 2017 12:13
0
ответов

Консольный ввод-вывод Unicode в Haskell в Windows

Довольно сложно заставить консольный ввод-вывод работать с символами Unicode в Haskell под Windows. Вот горестная история: (Предварительно.) Прежде чем вы даже подумаете о вводе-выводе Unicode в...
вопрос задан: 23 May 2017 12:13
0
ответов

Ошибка компиляции полиморфизма второго ранга в Haskell

Учитывая следующие определения :import Control.Monad.ST import Data.STRef сорок _два = do x < -newSTRef (42 ::Int )readSTRef x Следующее компилируется под GHC :main = (print. runST )...
вопрос задан: 23 May 2017 12:12
0
ответов

Гарантирует ли Writer Monad правильную ассоциативную конкатенацию?

В Validations in Haskell утверждалось, что использование Writer гарантирует правоассоциативную конкатенацию. Однако этот пример, кажется, показывает обратное. Какой правильный ответ? {- # LANGUAGE ...
вопрос задан: 23 May 2017 12:12
0
ответов

Производительность Repa 3 и правильное использование «сейчас»

Здесь есть базовый вопрос о монаде, не связанный с Repa, а также несколько вопросов, специфичных для Repa. Я работаю над библиотекой, используя Repa3. У меня проблемы с получением эффективного параллельного кода. Если я сделаю...
вопрос задан: 23 May 2017 12:11
0
ответов

Операция 'cons' в Haskell, которая отображается как ее аналог в Scheme

В качестве упражнения я реализую в Haskell операцию 'cons', которая образует пару из двух значений любого типа. Реализовать необходимый тип данных достаточно просто: data Nil = Nil deriving (Eq) data ...
вопрос задан: 23 May 2017 12:11
0
ответов

Goto в Haskell: Может ли кто-нибудь объяснить этот, казалось бы, безумный эффект использования продолжающейся монады?

Из этой ветки (Control.Monad.Cont fun, 2005 ), Томаш Зелонка представил функцию (ясно и красиво прокомментировал Томас Йегер). Томаш принимает аргумент (функцию) тела callCC ...
вопрос задан: 23 May 2017 12:09
0
ответов

Как запустить веб-приложение Snap haskell в рабочей среде?

Я установил Snap/Haskell на рабочий сервер Ubuntu (на EC2 )и проверил -свой проект -, но как его запустить? Я имею в виду, локально, я запускаю его из командной строки :проект -имя -p 8000 Делает оснастку...
вопрос задан: 23 May 2017 12:09
0
ответов

Что такое комонада Store?

Имея некоторое представление о том, что такое класс типов Comonad в Haskell, я слышал о комонаде Store. Но, глядя на Control.Comonad.Store.Lazy, я не совсем понимаю. Что это значит? Для чего это? Я '...
вопрос задан: 23 May 2017 12:09
0
ответов

«Истинный» чисто функциональный двусвязный список и совместное использование узлов

Недавно я познакомился с этим кодом OCaml, который в Haskell можно записать как: data DL a = DL [a] a [a] create [] = ошибка "пустой список" create (x: xs) = DL [] x xs next (DL pr x (h: tl)) = DL (x: pr) ...
вопрос задан: 23 May 2017 12:09
0
ответов

Haskell реализован без стека?

из Как работает язык без стека? Haskell (как обычно реализуется) не имеет стека вызовов; оценка основана на редукции графа. Действительно? Это интересно, потому что, хотя я никогда не ...
вопрос задан: 23 May 2017 12:08
0
ответов

Проекты на Haskell для изучения и обучения? [закрыто]

Как разработчик, который только начинает изучать Haskell, я ищу проекты с открытым исходным кодом. приложения на Haskell, которые я мог бы изучать и учиться на них. В частности, я ищу проекты с открытым исходным кодом, которые показывают: Как ...
вопрос задан: 23 May 2017 12:08
0
ответов

Уловка для «повторного использования» аргументов в Haskell?

Время от времени я наткнуться на проблему, которую я хочу выразить «пожалуйста, используйте последний аргумент дважды», например, чтобы написать стиль без точек или избежать лямбды. Например, sqr x = x * x может быть ...
вопрос задан: 23 May 2017 12:08
0
ответов

Haskell анализирует имена и типы полей записи

На основании недавнего обмена мнениями я был убежден использовать Template Haskell для генерации некоторого кода, чтобы гарантировать безопасность типов во время компиляции. Мне нужно проанализировать имена и типы полей записи. Я понимаю, что могу ...
вопрос задан: 23 May 2017 12:08
0
ответов

Какой производительности я могу ожидать от Int32 и Int64?

Я часто вижу такие программы, где Int64 является абсолютным убийцей производительности на 32-битных платформах. Мой вопрос теперь: если мне нужна определенная длина слова для моей задачи (в моем случае ГСЧ), это Int64 ...
вопрос задан: 23 May 2017 12:08
0
ответов

Двойственные подходы в функциональном программировании

Я хотел бы знать, какие реальные проблемы могут быть решены с помощью «методов двойственности» в функциональном программировании. Точнее, я хотел бы знать, действительно ли кто-то использовал метод двойственности, как ...
вопрос задан: 23 May 2017 12:07
0
ответов

OSX, ghci, dylib, какой правильный путь?

Мне нужно создать некоторый код C, а затем ссылаться на этот код через FFI. Я хотел бы использовать привязку изнутри ghci на osx. Одно из моих ограничений заключается в том, что я не могу просто передать исходные коды C в ghc ...
вопрос задан: 23 May 2017 12:07
0
ответов

Почему'не для всех (использование RankNTypes)применяется по умолчанию?

Я не так хорошо знаком с forall, но недавно прочитал этот вопрос:Что делает ключевое слово forall в Haskell/GHC? В одном из ответов есть вот этот пример :{-#LANGUAGE RankNTypes #-} liftTup::(...
вопрос задан: 23 May 2017 12:07
0
ответов

Выберите случайный элемент из набора, быстрее, чем линейное время (Haskell)

Я хотел бы создать эту функцию, которая выбирает случайный элемент из набора: RandeLem :: (Randomgen G) => Установить A - > G -> (a, g) могут быть написаны простые реализации Listy. Например, (код ...
вопрос задан: 23 May 2017 12:06
0
ответов

Поддерживается ли большинство пакетов Cabal?

Я хотел попробовать и посмотреть, можно ли на самом деле использовать Haskell для разработки игр (я слышал о FRP, но не уверен, сможет ли он изящно решить те проблемы, которые, как мне кажется, существуют — я читаю http://theses ....
вопрос задан: 23 May 2017 12:04
0
ответов

Сравнение скорости вычисления простых чисел в Haskell и C

Первоначально я написал этот (грубый и неэффективный )метод вычисления простых чисел, чтобы убедиться, что нет никакой разницы в скорости между использованием «if -then -else» по сравнению с охранниками в...
вопрос задан: 23 May 2017 12:04
0
ответов

Haskell Curl Help

Хорошо, я пытаюсь осмыслить IO в Haskell, и я решил написать короткое приложение, работающее с веб-страницами, чтобы сделать это. Фрагмент, на котором я споткнулся, (с извинениями перед bobince, ...
вопрос задан: 23 May 2017 12:04
0
ответов

Почему упаковка монады Data.Binary.Put создает утечку памяти? (Часть 2)

Как и в предыдущем вопросе, я пытаюсь обернуть монаду Data.Binary.Put в другую монаду, чтобы позже я мог задавать ей такие вопросы, как «сколько байтов он собирается записать» или «что является текущим ...
вопрос задан: 23 May 2017 12:04
0
ответов

Есть ли что-нибудь вроде универсального программирования Haskell для F #? [дубликат]

Возможный дубликат: избавьтесь от своего шаблона в f # Мне не хватает общих библиотек обхода и преобразования сортировки, которые у меня есть в Haskell, когда я работаю на F #. Кто-нибудь смотрел на выполнение ...
вопрос задан: 23 May 2017 12:04
0
ответов

В чем смысл объявления строгости?

Я начинаю Haskell и искал некоторые библиотеки, в которых определены типы данных с участием "!". Пример из библиотеки байтовых строк: data ByteString = PS {- # UNPACK # -}! (ForeignPtr Word8) - полезная нагрузка ...
вопрос задан: 23 May 2017 12:04
0
ответов

Разбиение заданного прямоугольника на n подпрямоугольников

Предварительные замечания Я изучаю Haskell. Вопрос, на который я ответил несколько дней назад, вдохновил меня на это упражнение на Haskell, которое дало возможность поэкспериментировать с несколькими ...
вопрос задан: 23 May 2017 12:04