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

2 ответа

Разграничение монады IO

Приятно знать (по крайней мере, в Safe Haskell) из подписи, выполняет ли что-либо действия IO, но IO охватывает много разных вещей -putStrдоступ к базе данных, удаление и запись в файлы, IORefs и т. д. Если я использую сигнатуры типов в качестве ...

1 ответ

 быть чем-то вроде C

ища для размышлений. Когда я пишу монадический код, монада налагает упорядочение на выполненные операции. Например, если я напишу в монаде IO: do a <- doSomething b <- doSomethingElse return (a + b)я знаюdoSomething будет выполнен ...

8 ответов

Монада IO (и IIRC - монада ST) внутренне не функционирует в целях производительности. Тем не менее, это не должно быть. Среда выполнения (код C) может просто выполнить монаду без кода Haskell, который делает что-либо небезопасное или неработающее. Все остальные монады вовсе не небезопасны и не функционируют.

я ненавижу термин «запах кода», но не могу придумать ничего более точного. Я разрабатываю язык высокого уровня и компилятор дляПробелы [http://compsoc.dur.ac.uk/whitespace/]в свободное время я узнаю о построении компилятора, проектировании ...

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

2 ответа

Какой смысл использовать монады в переводчике?

Я недавно обнаружил это маленькоепример скалы [http://www.scala-lang.org/node/56]называетсяПростой интерпретатор с использованием монад: object simpleInterpreter { case class M[A](value: A) { def bind[B](k: A => M[B]): M[B] = k(value) def ...

2 ответа

Scala IO monad: какой смысл?

Недавно я смотрел видео о том, как можно придумать монаду IO, разговор был в скале. Мне действительно интересно, какой смысл иметь функции, возвращающие IO [A] из них. Лямбда-выражения, заключенные в объекте ввода-вывода, - это то, ...

3 ответа

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

Мне нужно, чтобы мое состояние передавалось вместе с возможностью цепочки функций, возможно, с рабочим процессом. Есть ли способ для двух рабочих процессов использовать один и тот же контекст? Если нет, как это сделать? ОБНОВИТЬ: Ну, у меня ...

1 ответ

 «безопаснее» и проще в использовании.

ужен глобальный счетчик, начиная с 0, 1, 2, 3, ..... Я вроде понимаю, что этот "нечистый" код должен реализовываться отдельно ... Я только начинаю понимать Монаду, но понятия не имею Как реализовать этот глобальный счетчик с помощью Monad? Это ...

7 ответов

На самом деле "IO a" это просто "() -> a" на нечистом языке (где функции могут иметь побочный эффект). Допустим, вы хотите реализовать IO в SML:

а самом деле реализована монада IO? В смысле, какова будет реальная реализацияmain функционировать? Как бы я вызвал функцию haskell (IO) с другого языка, и нужно ли мне в этом случае поддерживать IO самостоятельно? Есть лиmain тянет IO действия ...

1 ответ

@ JörgWMittag Я читал эту цитату раньше, но это звучало как чепуха. Теперь, когда я понимаю монады и читаю это объяснение того, как ';' это один, я понимаю. Но я думаю, что это действительно иррациональное утверждение для большинства разработчиков. ';' не рассматривается как оператор больше, чем // для большинства.

и дни много говорят о монадах. Я прочитал несколько статей / постов в блоге, но я не могу зайти достаточно далеко с их примерами, чтобы полностью понять концепцию. Причина в том, что монады являются концепцией функционального языка, и поэтому ...

2 ответа

Монадическая складка с Государственной монадой в постоянном пространстве (куча и стек)?

Можно ли выполнить складывание в монаде состояния в постоянном стеке и пространстве кучи? Или другая функциональная техника лучше подходит для моей проблемы? В следующих разделах описывается проблема и мотивирующий сценарий использования. Я ...