0
ответов

Аппликативный экземпляр для State и других монад MTL?

Глядя на документацию для Control.Applicative, я заметил, что в них есть объявления экземпляров для определенных монад (например, IO, Maybe и особенно ST), но нет экземпляров для монад MTL, таких как State ...
вопрос задан: 23 May 2017 12:25
0
ответов

Почему FingerTrees не используются достаточно для стабильной реализации?

Некоторое время назад я наткнулся на статью о FingerTrees (см. Также сопровождающий вопрос о переполнении стека) и отослал эту идею. Я наконец нашел причину использовать их. Моя проблема в том, что ...
вопрос задан: 23 May 2017 12:24
0
ответов

Креативное использование стрелок

Только что прочитал пост Креативное использование монад, в котором полно очень интересных идей и отсылок, и мне стало любопытно: а что насчет стрелок? Я не ищу личное мнение или ссылки на ...
вопрос задан: 23 May 2017 12:24
0
ответов

Поиск пропущенного класса типов "Reduce" в статье Finger Tree

Вчерашний Wikibender, который начался с этого вопроса о переполнении стека по Comonads, закончился статьей MarkCC о Finger Trees. В статье он широко использует класс типа Reduce. Он ...
вопрос задан: 23 May 2017 12:24
0
ответов

Haskell :карта runST

У меня есть привязка для типа [ST s (Int, [Int] )], и я пытаюсь применить runST к каждому элементу, используя карту следующим образом :имя ::[ST s (Int, [Int] )] --Конечно, здесь есть реальная ценность map runST name...
вопрос задан: 23 May 2017 12:24
0
ответов

Что происходит с пропущенными переменными типа в ядре в церковном стиле?

Это немного эзотерично, но безумно. В ответе на другой вопрос я заметил, что в этой полностью действительной программе какашки :: String -> a -> a Какашки..: (a -> a) -> строка qoo _ = "...
вопрос задан: 23 May 2017 12:23
0
ответов

Как называется этот монадоподобный шаблон функционального программирования?

Я иногда встречал шаблон в коде, который напоминает монаду, но не поддерживает единообразный тип >> =. Вот простейший пример, который я мог придумать: (Сначала какой-нибудь тип -...
вопрос задан: 23 May 2017 12:23
0
ответов

Лучший способ замены подстроки в haskell

Проблема довольно проста: мне нужно заменить все вхождения «fooo» и всех его подстрок с «xyz». В Java, например, я сделаю это так: someString.replaceAll ("fooo | foo | fo", "xyz") ...
вопрос задан: 23 May 2017 12:23
0
ответов

Напишите это умножение Scala Matrix на Haskell [дубликат]

Возможный дубликат: Можете ли вы перегрузить + в haskell? Можете ли вы реализовать класс Matrix и оператор *, который будет работать с двумя матрицами ?: scala> val x = Matrix (3, 1,2,3,4,5,6) x: Matrix = [...
вопрос задан: 23 May 2017 12:22
0
ответов

Почему encodeFile Data.Binary не работает лениво?

В GHCI я запускаю этот простой тест :encodeFile "test" [0..10000000] Строка выполняется очень быстро (<10 секунд ), но использование моей памяти достигает ~500 МБ до завершения. Не должен encodeFile быть ленивым...
вопрос задан: 23 May 2017 12:21
0
ответов

Что представляет собой эквивалент Haskell Generic Pattern Java?

Только что возник вопрос о дженериках Java. Пример кода: открытый интерфейс A > {} Связанный вопрос задает о классе Enum > ....
вопрос задан: 23 May 2017 12:21
0
ответов

Изменчивость в функциональном программировании

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

Почему ContT нельзя сделать экземпляром MonadError?

У меня есть стек преобразователя монад, включающий ErrorT, и я хочу обернуть его преобразователем ContT r. Когда я пытаюсь это сделать, мои вызовы throwError генерируют ошибки типа - по-видимому...
вопрос задан: 23 May 2017 12:20
0
ответов

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

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

Функция Haskell, которая принимает в качестве аргумента функцию с переменным числом аргументов (и возвращает что-то еще, кроме этой функции) без FlexibleInstances, чистый Haskell2010

Можно ли выразить следующую программу Haskell без FlexibleInstances, т.е. на чистом Haskell2010? {- # LANGUAGE FlexibleInstances # -} class Funk a where true :: a -> [Bool] ...
вопрос задан: 23 May 2017 12:20
0
ответов

Эффективная таблица для динамического программирования в Haskell

Я закодировал задачу о рюкзаке 0-1 в Haskell. Я довольно горжусь достигнутой ленью и уровнем универсальности. Я начинаю с предоставления функций для создания и работы с ленивым 2d ...
вопрос задан: 23 May 2017 12:19
0
ответов

Как избавиться от $ (…) и [| … |] Синтаксис при использовании функции Template Haskell?

Я пытаюсь изучить немного Template Haskell. В качестве упражнения я написал функцию, которая может генерировать такие вещи, как isLeft и isRight (вдохновленные этим вопросом). Вот моя скромная попытка: isA connam = do ...
вопрос задан: 23 May 2017 12:19
0
ответов

Почему в Scala нет монады ввода-вывода?

Мне интересно, почему в Scala нет монады ввода-вывода, такой как Haskell. Итак, в Scala типом возвращаемого значения метода readLine является String, тогда как в Haskell сопоставимая функция getLine имеет тип возвращаемого значения IO ...
вопрос задан: 23 May 2017 12:19
0
ответов

Вычислительные конструкции (монады, стрелки и т. д.)

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

Есть ли какая-либо земля Haskell -, эквивалентная земле Ruby -& #39;s Bundler et. al, а если нет, то как можно было бы придумать проект с такой структурой?

Примечание для читателей :Потерпите меня. Обещаю, есть вопрос. У меня есть проблема, которую нужно решить, и я думаю: «О, я сделаю это на Ruby». $ bundle gem Problemsolver create Problemsolver/Gemfile...
вопрос задан: 23 May 2017 12:19
0
ответов

Зачем оборачивать Монада Data.Binary.Put создает утечку памяти?

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

Преобразование с плавающей запятой IEEE 754 в Haskell Word32 / 64 в Haskell Float / Double и обратно

Вопрос В Haskell базовые библиотеки и пакеты Hackage предоставляют несколько средств преобразования двоичных данных с плавающей запятой IEEE-754 в и из поднятых Типы Float и Double. Однако ...
вопрос задан: 23 May 2017 12:18
0
ответов

Преобразование Int в целое [дубликат]

Возможный дубликат: Ошибка Haskell: не удалось сопоставить ожидаемый тип Целое число & # 39; против выведенного typeInt 'Как преобразовать Int в Integer в Haskell?
вопрос задан: 23 May 2017 12:18
0
ответов

Монады с Join() вместо Bind()

Монады обычно объясняются чередованием return и bind. Однако я так понимаю, что вы также можете реализовать bind в терминах соединения (и fmap?). В языках программирования, в которых отсутствуют первоклассные функции, bind — это...
вопрос задан: 23 May 2017 12:18
0
ответов

Совместное использование элементов списка и индексов

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

Parsec.Expr Повторяющийся префиксный/постфиксный оператор не поддерживается.

Документация для Parsec.Expr.buildExpressionParser говорит :Префиксные и постфиксные операторы с одинаковым приоритетом могут встречаться только один раз (, т.е. --2 не является разрешено, если -является отрицательным префиксом ). и действительно,...
вопрос задан: 23 May 2017 12:17
0
ответов

Haskell - «Как я могу использовать» if «оператор в« do »блокируется правильно? [Дубликат]

Возможный дубликат : Haskell «ничего не делает», ввод-вывод, или если без него Что-то пошло не так в этих "простых" строках ... action = do isdir <- doesDirectoryExist путь - проверьте, если ...
вопрос задан: 23 May 2017 12:17
0
ответов

Лучший способ реализовать специальный полиморфизм в Haskell?

У меня есть полиморфная функция, например: convert :: (Show a) = > а -> строка convert = "[label =" ++ (show a) ++ "]" Но иногда я хочу передать ему Data.Map и сделать еще какое-нибудь необычное значение ключа ...
вопрос задан: 23 May 2017 12:16
0
ответов

Как эта запомненная таблица DP слишком медленна для SPOJ?

SPOILERS: Я работаю над http://www.spoj.pl/problems/KNAPSACK/, так что не подглядывайте, если вы не хотите, чтобы возможное решение было для вас испорчено. Образец: импортируйте Data.Sequence (индекс, из списка). импорт ...
вопрос задан: 23 May 2017 12:16
0
ответов

Почему этот простой алгоритм на haskell такой медленный?

Предупреждение о спойлере: это связано с проблемой 14 из Project Euler. Следующий код выполняется около 15 с. У меня есть нерекурсивное решение на Java, которое выполняется за 1 с. Я думаю, я должен быть в состоянии получить это ...
вопрос задан: 23 May 2017 12:16