1
ответ

Монада читателя с Scalaz

Я пытаюсь определить монаду Читателя с scalaz как это: импортируйте scalaz._, импортируют Scalaz._ заключительный класс Читатель [E] (частный [читатель] val runReader: E => A) возражают Читателю {определение применяется [E] (f: E =>...
вопрос задан: 19 July 2010 19:51
1
ответ

-Нотация, характерная для “base:GHC.Base. Монада”?

Идея, что стандартный класс Монады испорчен и что он должен на самом деле расширить Функтор или Указанный, плавает вокруг. Я не обязательно утверждаю, что это - правильный поступок, но предположить...
вопрос задан: 13 May 2010 23:09
1
ответ

Причина для MonadState получает и поместила?

Я читаю главу Монад в Реальном мире Haskell (глава 14). Функция определяется следующим образом: введите RandomState = StdGen состояния getRandom:: Случайный => RandomState getRandom = добираются и...
вопрос задан: 4 April 2010 15:22
1
ответ

Обработка ошибок в Haskell с Любой монадой

У меня есть функция, которая проверяет, является ли тип подтипом другого типа: Св.:: Монада m => Строковый тип Карты - ^type среда-> Набор (Тип, Тип) - ^assumed подтипы-> (Тип...
вопрос задан: 3 June 2009 01:04
0
ответов

В чем разница между «вычислить» и «вернуть $!»?

Вот выдержка из документации по оценке: Control.Exception.Base.evaluate::a -> IO оценка x не одно и то же как вернуть $! x Правильным определением является оценка x = (...
вопрос задан: 17 October 2019 13:10
0
ответов

Когда в Clojure следует использовать монаду вместо макроса и наоборот?

Существует слишком много руководств по монадам, в которых говорится... "Смотрите! Вот случай, когда мы можем использовать монаду" или "Вот для чего нужна монада". Что я хочу знать, так это какие шаги...
вопрос задан: 14 September 2019 19:47
0
ответов

Почему монады? Как это устраняет побочные эффекты?

Я изучаю Haskell и пытаюсь понять монады. У меня два вопроса: насколько я понимаю, Monad - это просто еще один класс типов, который объявляет способы взаимодействия с данными внутри «контейнеров», ...
вопрос задан: 18 April 2019 10:52
0
ответов

Проверка правильности аппликативной реализации для Cont

Я пытаюсь понять Cont в Haskell, поэтому я реализую Functor, Applicative и Monad для этого. Я определяю Cont как новый тип Cont r a = Cont {runCont :: (a - > r) - > Теперь я пытаюсь реализовать & ...
вопрос задан: 24 March 2019 13:51
0
ответов

Как бороться с монадическим возвращаемым значением `m (может быть, Foo)`?

У меня есть функция, которая возвращает значение, заключенное в монаду, производитьMessage :: MonadIO m = > KafkaProducer - > ProducerRecord - > m (Может быть, KafkaError) И у меня есть код для вызова этого ...
вопрос задан: 22 March 2019 20:11
0
ответов

Как частично создать тип

Я пытаюсь создать свою монаду Btree, и я не знаю, как определить возврат для этого, так как я хочу поместить значение в узел (значение листа) и оставить другую ветвь пустой. Дерево модуля где ...
вопрос задан: 5 March 2019 15:11
0
ответов

Как получить нормальное значение из операции ввода-вывода в Haskell

У меня есть следующая функция :get ::Chars -> IO Chars get cs = do char < -getChar let (dats, idx )= (curData cs, curIndex cs )let (x,y :xs )= splitAt idx dats пусть замена =...
вопрос задан: 28 February 2019 13:24
0
ответов

Как я могу разобрать строку ввода-вывода в Haskell?

У меня проблема с Haskell. У меня есть текстовый файл, который выглядит так: 5. 7. [(1,2,3),(4,5,6),(7,8,9),(10,11,12)]. Я понятия не имею, как мне получить первые 2 числа (2 и 7 выше) и список...
вопрос задан: 20 December 2018 10:28
0
ответов

Хаскель Монад связать оператор путаницы

Итак, я не программист на Haskell, но я абсолютно заинтригован многими идеями, стоящими за Haskell, и собираюсь изучить его. Но я застрял на первом месте: я не могу обернуть голову ...
вопрос задан: 17 December 2018 19:39
0
ответов

Монады не с «flatMap», а «flatUnit»? [закрыто]

Монады в теории категорий определяются тройками T, unit, flat⟩. класс Monad t, где map :: (a -> b) -> (t a -> t b) - единица действия функтора :: a -> t a flat :: t (t a) -> t a ...
вопрос задан: 26 October 2018 04:11
0
ответов

Haskell - монада IO / ST с двойной индивидуальностью?

У меня есть код, который в настоящее время использует монаду ST для оценки. Мне нравится не помещать ввод-вывод повсюду, потому что метод runST дает чистый результат и указывает, что такой результат можно безопасно вызывать (в отличие от ...
вопрос задан: 20 May 2018 13:39
0
ответов

Избегание IORefs в чистом виде код

Я заметил, что Data.UnionFind использует монаду IO для предоставления указателей через IORefs.Я думаю, что все с радостью вызывают unsafePerformIO при локальном использовании в чистом коде, так как структура данных настолько хороша...
вопрос задан: 20 May 2018 13:25
0
ответов

Разница между состоянием, ST, IORef и MVar

Я работаю над «Напишите себе схему за 48 часов» (я примерно до 85 часов), и я дошел до части о добавлении переменных и присвоений. В этой главе произошел большой концептуальный скачок, и ...
вопрос задан: 20 May 2018 12:25
0
ответов

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

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

Является ли Python монадическим «с»?

Как и многие безрассудные пионеры до меня, я пытаюсь пересечь бездорожную пустошь, которая называется «Понимание монад». Я все еще шатаюсь, но не могу не заметить некую подобную монаде ...
вопрос задан: 23 March 2018 13:22
0
ответов

Определите, существует ли список файлов в Haskell.

Я новичок, и монады меня полностью сбивают с толку. Учитывая список имен файлов, я хотел бы знать, все ли файлы существуют. Как правило, я бы хотел: импортировать System.Directory и монады меня полностью сбивают с толку. Учитывая список имен файлов, я хо
вопрос задан: 17 January 2018 10:33
0
ответов

IO in where clause

Я думал, что начинаю понимать IO в Haskell, пока не столкнулся с следующая проблема. У меня есть следующая функция, которая возвращает тип IO Float: getFundPrice :: Int -> Int -> IO ...
вопрос задан: 4 December 2017 13:23
0
ответов

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

Я знаю, что следующая функция «связывания» нотации «do» эквивалентна getLine >> = \ line -> putStrLn do line < - getLine putStrLn line Но как следующая нотация эквивалентна ...
вопрос задан: 10 September 2017 02:16
0
ответов

Автоматический выбор переводчика через Free Monad и Coproduct

Я играю с архитектурой приложения и бесплатными монадами в haskell. Я получил его, за исключением того, как поднять мою «инструкцию» в правильный слот моего побочного продукта, не давая явно полный левый / ...
вопрос задан: 17 August 2017 12:30
0
ответов

Используя синтаксис LINQ-запросов с пользовательской реализацией Maybe monad

я пытаюсь написать простой Maybe monad на C#. Я хочу иметь возможность использовать синтаксис запросов LINQ с ним. Вот что я придумал до сих пор: использование System; используя System.Collections.Generic; ...
вопрос задан: 27 June 2017 08:44
0
ответов

Соответствующее использование Monad `fail` по сравнению с MonadPlus` mzero`

Это вопрос, который несколько раз возникал у меня при разработке код, особенно библиотеки. Кажется, это вызывает некоторый интерес, поэтому я подумал, что это может стать хорошей вики для сообщества. Ошибка ...
вопрос задан: 23 May 2017 12:34
0
ответов

Где я могу изучить продвинутый Haskell? [closed]

В комментарии к одному из моих ответов: SO пользователь sdcwc по существу указал, что следующий код: comb 0 = [[]] comb n = let rest = comb (n-1) in map ('0' :) rest ++ map ('1' :) rest. ..
вопрос задан: 23 May 2017 12:33
0
ответов

Каков текущий статус ограниченных монад?

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

Имитация взаимодействующих объектов с сохранением состояния в Haskell

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

Теория монад и Haskell

Большинство учебных пособий, кажется, дают много примеров монад (ввод-вывод, состояние, список и т. Д.), А затем ожидают, что читатель сможет абстрагируют общий принцип, а затем упоминают теорию категорий. Я не ...
вопрос задан: 23 May 2017 12:25
0
ответов

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

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