5
ответов

Кто-либо когда-либо встречался с Преобразователем Монады в дикой природе?

В моей области бизнеса - бэк-офиса IT для финансового учреждения - компоненту программного обеспечения очень свойственно нести глобальную конфигурацию вокруг, зарегистрировать ее прогресс, иметь некоторую ошибку...
вопрос задан: 4 September 2016 03:37
3
ответа

Как я комбинирую монады в Haskell?

Особенно, я должен быть в состоянии объединить монаду CGI с монадой IO, но пример того, как объединить монаду IO с, Возможно, монада, мог бы быть еще лучше...
вопрос задан: 21 July 2009 22:25
2
ответа

mtl, преобразователи, монады-fd, monadLib, и предпочтительный парадокс

Hackage имеет несколько пакетов для преобразователей монады: mtl: преобразователи библиотеки преобразователя Монады: Конкретный функтор и монады-fd преобразователей монады: классы Монады, с помощью функциональных зависимостей...
вопрос задан: 3 January 2014 01:36
2
ответа

Монада-трансформер для отслеживания прогресса

Я ищу монаду-трансформер, которую можно использовать для отслеживания прогресса процедуры. Чтобы объяснить, как его можно использовать, рассмотрим следующий код: procedure :: ProgressT IO () procedure = task ...
вопрос задан: 19 December 2011 21:06
2
ответа

В чем разница между разными порядками одних и тех же преобразователей монад?

Я пытаюсь определить API, чтобы выразить определенный тип процедуры в моей программе. newtype Процедура a = {runProcedure ::? } Есть состояние, состоящее из сопоставления идентификаторов с записями: type ...
вопрос задан: 26 February 2011 18:58
2
ответа

Стопка преобразователя монады Haskell и подписи типа

Я пытаюсь создать стопку преобразователей монады и испытываю затруднения при получении корректных подписей типа для моих функций. (Я все еще довольно плохо знаком с Haskell), стек комбинирует несколько...
вопрос задан: 18 January 2010 22:10
1
ответ

Подсказки для более изящного кода с монадами?

Я наконец овладел о том, как использовать монады (не знайте, понимаю ли я их...), но мой код никогда не очень изящен. Я предполагаю, от отсутствия власти как все те функции на Управлении. Монада может действительно...
вопрос задан: 29 April 2012 20:12
1
ответ

Что такое монадные трансформаторы Хаскелла в категориальных терминах?

Будучи студентом по математике, первое, что я сделал, когда узнал о монадах в Хаскеле, это проверил, что это действительно монады в том смысле, о котором я знал. Но потом я узнал о монадных трансформаторах и тех ...
вопрос задан: 23 November 2011 00:11
1
ответ

Использование синонимов типа в преобразователях монады

Действительно ли возможно использовать синонимы типа в качестве аргументов конструктора типа преобразователей монады? В частности, если существует унарный синоним типа для прикладного преобразователя монады, мог он использоваться в качестве типа...
вопрос задан: 30 July 2010 14:19
0
ответов

Как избежать подъема с помощью преобразователей монад

У меня проблема, с которой стек монадных преобразователей (или даже один монадный преобразователь) через ввод-вывод. Все хорошо, кроме того, что пользоваться лифтом перед каждым действием ужасно надоедает! Я подозреваю, что есть ...
вопрос задан: 25 March 2018 11:51
0
ответов

Модульная разработка программ - объединение монадных трансформаторов в функции монадной агностики

Я пытаюсь придумать дизайн модульной программы и еще раз прошу вашей помощи. В качестве продолжения этих следующих постов Monad Transformers против передачи параметров и большого масштаба ...
вопрос задан: 23 May 2017 22:23
0
ответов

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

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

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

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

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

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

Почему мой код, использующий монадические списки из пакета List, такой медленный?

На прошлой неделе пользователь Masse задал вопрос о рекурсивном перечислении файлов в каталоге в Haskell. Первой моей мыслью было попробовать использовать монадические списки из пакета List, чтобы избежать построения всего списка ...
вопрос задан: 23 May 2017 12:04
0
ответов

scalaz List [StateT] .sequence - не удалось найти неявное значение для параметра n: scalaz.Applicative

Я пытаюсь понять, как использовать StateT для объединения двух преобразователей состояния на основе комментария к моему Scalaz Примеры монад состояний отвечают. Кажется, я очень близок, но у меня возникла проблема при попытке ...
вопрос задан: 23 May 2017 12:00
0
ответов

Лучшие практики Haskell: раннее завершение работы в Haskeline

Я использую пакет Haskeline и хочу получить три строки подряд из командной строки, прежде чем что-либо делать, и я придумали то, что мне кажется изящным решением. Но я уверен, что ...
вопрос задан: 23 May 2017 11:57
0
ответов

Как на самом деле выполнить монаду StateT вместе с IO?

Я пытаюсь следовать совету, данному в разделе «Сочетание состояния с действиями ввода-вывода» для создания состояния приложения вместе с монадой ввода-вывода. Я получил этот модуль :Main, где import Control.Monad.State...
вопрос задан: 23 May 2017 11:54
0
ответов

Почему изменение монады Data.Binary.Put в преобразователе создает утечку памяти?

Я пытаюсь преобразовать монаду Data.Binary.PutM в преобразователь монад. Итак, я начал с того, что изменил это s определение из newtype PutM a = Put ​​{unPut :: PairS a} в newtype PutM a = Put ​​{unPut :: ...
вопрос задан: 23 May 2017 10:32
0
ответов

Классы проникновения монадных стеков со свободными / оперативными монадными трансформаторами?

Может ли быть mtl-подобный механизм для монадных преобразователей, созданный Free / Program? Мое понимание истории заключается в следующем. Когда-то был изобретен монадный трансформатор. Тогда люди ...
вопрос задан: 23 May 2017 10:31
0
ответов

Каков наилучший способ управления ресурсами в стеке монад, например, кроме IO?

К счастью или к несчастью, популярная библиотека Servant на Haskell стала обычным делом для выполнения кода в стеке монадных преобразователей с использованием ExceptT err IO. Собственная монада обработчика слуги - ExceptT ServantErr ...
вопрос задан: 23 November 2016 15:34
0
ответов

Аппликативы составляют, монады - нет

Аппликативы составляют, а монады - нет. Что означает вышеприведенное утверждение? И когда одно предпочтительнее другого?
вопрос задан: 18 June 2015 06:11
0
ответов

Монада Pause

Монады могут делать много удивительных, сумасшедших вещей. Они могут создавать переменные, содержащие суперпозицию значений. Они могут позволить вам получить доступ к данным из будущего до того, как вы их вычислите. Они могут позволить вам...
вопрос задан: 5 March 2015 09:40
0
ответов

Работа над стеком преобразователей монад с перестановками

Одна из проблем с преобразователями монад, которую я обнаружил, - необходимость переноса операций в правую монаду. Отдельный подъем здесь и там неплохо, но иногда есть функции, которые выглядят как ...
вопрос задан: 28 November 2012 14:39
0
ответов

Требуется ли доступ к внутренней структуре монады для преобразователя монады?

Нужно ли иметь доступ к внутренней структуре монаду написать преобразователя монады? Например, :я бы хотел иметь преобразователь GetT -для монады Get из Data.Binary.Get, но это...
вопрос задан: 28 November 2012 14:08
0
ответов

Должно ли оборачивание функций в преобразователь монад считаться плохой практикой?

Допустим, мы хотим использовать ReaderT [(a, b)] над монадой Maybe, а затем мы хотим выполнить поиск в списке. Теперь простой и не слишком необычный способ сделать это: первая возможность найти a = ReaderT (...
вопрос задан: 11 October 2012 12:29
0
ответов

Могу ли я использовать преобразователи монад, чтобы упростить эту композицию?

Предположим, у меня есть тип VS[A] = Validation[String, A] val v: VS[Option[A]] val f: A => VS[B] Я хочу получить результат типа VS[Option[B]], но если v имеет значение Success(None), результат также должен быть ...
вопрос задан: 1 June 2012 16:08
0
ответов

преобразование монады списка

Мне нужно использовать преобразование монады списка. Я читал, что существуют потенциальные проблемы с ListT IO из Control.Monad.List, поскольку IO не является коммутативным, поэтому я смотрю на ListT, сделанный правильно. Но я...
вопрос задан: 21 May 2012 11:53
0
ответов

комбинируя монады may и seq: вывод непонятен

Я пытаюсь скомпоновать seq-m и error-m, чтобы выполнять списковые включения вещей, которые могут возвращать ошибки. Мой вывод имеет неожиданные типы, хотя в остальном он действительно кажется разумным. у меня есть...
вопрос задан: 8 April 2012 01:55
0
ответов

Поднимите значение ошибки в монадный преобразователь ErrorT

Я думаю, что мне не хватает базового понимания монадных преобразователей, потому что я обнаружил, что пишу этот код: import Control.Monad.Identity import Control.Monad.Error liftError :: Someone String Int -...
вопрос задан: 4 April 2012 17:58