Результаты поиска по запросу "monads"

3 ответа

Можно ли сделать Free Monad в Clojure?

Там было несколько выдающихся работ с Монад в ClojureКонрад Хинсен [http://khinsen.wordpress.com/2009/04/22/monad-tutorial-for-clojure-programmers/] , Джим дуэй [http://www.intensivesystems.net/tutorials/monads_101.html]а также Леонардо ...

2 ответа

вы будете точно знать, какова форма этого леса на верхнем уровне, то есть сколько именно элементов у него есть, или он завершается и т. д. по монотонности. Так что это не имеет значения вообще. Однако я согласен с тем, что экземпляры дерева / списка / розового дерева и т. Д. Вряд ли будут полезны. Все примеры, которые я видел для таких эзотерических случаев, являются более или менее искусственными. Единственный известный мне пример, который является «полезным», - это пример для Fudgets, который является своего рода «деревом» и моделирует семантику термина для базового ввода-вывода; обсуждается в разделе 4.8 диссертации.

изация трансформаторовиз [https://hackage.haskell.org/package/transformers-0.5.5.0/docs/src/Control.Monad.Trans.Maybe.html#line-186] заMonadFix не удается, если функция когда-либо оцениваетMaybeT, ПочемуNothing не распространяется поNothingДолжна ...

5 ответов

... который по сути такой же как:

вопрос возникает из этого ответа впример функтора, который является Аппликативным, но не Монадой [https://stackoverflow.com/a/49703783/412549]: Утверждается, что data PoE a = Empty | Pair a a deriving (Functor,Eq)не может иметь экземпляр монады, ...

ТОП публикаций

2 ответа

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

о моемупредыдущий вопрос [https://stackoverflow.com/questions/4828902/why-wrapping-the-data-binary-put-monad-creates-a-memory-leak] Я пытаюсь заключить монаду Data.Binary.Put в другую монаду, чтобы позже я мог задать ей такие вопросы, как ...

1 ответ

Поскольку все эти эффекты объединены в Plan 9 / Inferno, я подозреваю, что «загон» Хаскелла не так произвольн, как кажется. Хотя это было бы потрясающим достижением в инженерной сфере, которое могло бы использовать ГСЧ для точного моделирования вывода файла. Обратное кажется простым.

птуально кажется, что вычисление, которое выполняет вывод, очень отличается от того, которое выполняет только ввод. Последнее в каком-то смысле намного чище. Я, например, хотел бы иметь способ отделить только входные части моей программы от тех, ...

1 ответ

 в Глазго на Хаскеле, но это не очень интересный факт.

от вопрос уже есть ответ здесь: Есть ли монада, у которой нет соответствующего монадного трансформатора (кроме IO)? [/questions/24515876/is-there-a-monad-that-doesnt-have-a-corresponding-monad-transformer-except-io] 4 ответаМонадные ...

4 ответа

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

аюсь конвертироватьIO [String] в[String] с участием<- связывание; Тем не менее, мне нужно использоватьdo блок, чтобы сделать это подwhere заявление, но Haskell постоянно жалуется на отступы. Вот код: decompEventBlocks :: IO [String] -> IO ...

4 ответа

 - не надо ничего проверять.

я сложилось впечатление, что где-то был экземпляр Either a, но я не могу его найти. Я попытался импортировать Control.Monad, Control.Monad.Instances и Data.Either, как показано module Main where import Control.Monad import Data.Either ...

4 ответа

+1, хороший трюк с генератором

аюсь сохранить простую (но довольно большую) древовидную структуру в двоичный файл, используя Haskell. Структура выглядит примерно так: -- For simplicity assume each Node has only 4 childs data Tree = Node [Tree] | Leaf [Int] И вот как мне ...

2 ответа

 контекст, например,

ю, это должно звучать тривиально, но мне было интересно, как можно развернуть значение из функтора и вернуть его как чистое значение? Я пытался: f::IO a->a f x=(x>>=) f= >>=Что я должен разместить в правой части? Я не могу использоватьreturn ...