0
ответов

Как узнать, коммутативна ли монада?

В документации для Control.Monad.List.ListT сказано, что она «не дает монаду, если монада аргументов не коммутативна. " Как узнать, коммутативна ли монада? Есть ли ...
вопрос задан: 22 May 2011 18:47
0
ответов

Доступ к параметрам конфигурации через монаду?

Цитата отсюда: http://www.haskell.org/haskellwiki/Global_variables Если у вас есть глобальная среда, из которой считываются различные функции (и вы могли бы, например, инициализировать из ...
вопрос задан: 21 May 2011 10:19
0
ответов

How to write a haskell function without IO in type sig by hiding 'state' changes

I wrote a function in haskell that takes a few parameters like Word32, String (ignore currying) and outputs IO Word32. Now, this is a function in the true sense: for the same inputs, the output will ...
вопрос задан: 20 May 2011 18:26
0
ответов

Can't perform I/O in foldr?

I have a Data.Map structure that maps Strings to Stringss. For whatever reason, I want to print the contents of the map in the format key: value using foldrWithKey, like so: M.foldrWithKey (\k v b -&...
вопрос задан: 16 May 2011 21:11
0
ответов

Снятие опций с опцией Option

Допустим, у меня есть val s: Option [Option [String]]. Таким образом, он может иметь следующие значения: Some (Some ("foo")) Некоторые (нет) None Я хочу уменьшить его так, чтобы первый стал Some ("foo"), а два других ...
вопрос задан: 11 May 2011 18:36
0
ответов

Как называется эта функция стека монад?

У меня есть набор функций с отслеживанием состояния внутри монады состояния. В какой-то момент программы должны быть какие-то действия ввода-вывода, поэтому я обернул ввод-вывод внутри StateT, получив пару таких типов: ...
вопрос задан: 11 May 2011 17:10
0
ответов

Это кандидат для вычислительных выражений?

У меня есть следующий код C #, он проверяет разрешения. Мне интересно, если при преобразовании в f #, были бы вычислительные выражения способом исключить нулевые проверки. bool ...
вопрос задан: 9 May 2011 15:34
0
ответов

Обработка большого набора небольших файлов с помощью Hadoop

Я использую программу-пример Hadoop WordCount для обработки большого набора небольших файлов / веб-страниц (примерно 2–3 КБ). Поскольку это далеко от оптимального размера файла для файлов hadoop, программа работает очень медленно. Я ...
вопрос задан: 8 May 2011 23:09
0
ответов

Relax ordering constraints in monadic computation

here is some food for thought. When I write monadic code, the monad imposes ordering on the operations done. For example, If I write in the IO monad: do a <- doSomething b <- ...
вопрос задан: 5 May 2011 17:10
0
ответов

Haskell - Checking the Validity of a File Handle

Ok, guys, super easy question (it seems weird that Google didn't help me with this one): import IO --.... yadda, yadda, yadda file <- openFile "/some/path" ReadMode How do I check if the ...
вопрос задан: 4 May 2011 16:42
0
ответов

Почему нет (-> ) реализовано с помощью Control.Monad.Instances по умолчанию

Я читал LYAH. В нем говорится, что мне нужно явно загрузить Control.Monad.Instances, чтобы следующий синтаксис работал: ((fmap (+5)) (+5)) 4 Почему это так? Почему, если функторы лежат в основе и ...
вопрос задан: 2 May 2011 23:10
0
ответов

Объединение монад StateT и State

Допустим, у меня есть функция f :: State [Int] Int и функция: g :: StateT [Int] IO Int Я хочу использовать f в g и передавать состояние между ними. Есть ли библиотечная функция для StateT (return. ...
вопрос задан: 2 May 2011 21:29
0
ответов

Haskell: ввод-вывод и возврат из функции

Пожалуйста, подождите, я новичок в функциональном программировании и Haskell. Я пытаюсь написать функцию на Haskell, которая принимает список целых чисел, печатает заголовок этого списка, а затем ...
вопрос задан: 2 May 2011 21:05
0
ответов

Почему сопоставление с образцом не вызывает исключение в монаде Maybe

Мой вопрос простой. Почему неправильное сопоставление с образцом не вызывает исключение в монаде Maybe. Для ясности: data Task = HTTPTask {getParams :: [B.ByteString], postParams :: [B.ByteString], ...
вопрос задан: 2 May 2011 21:04
0
ответов

How can I write a state monad that does error handling as well?

I need to write a state monad that can also support error handling. I was thinking of using the Either monad for this purpose because it can also provide details about what caused the error. I found a ...
вопрос задан: 2 May 2011 20:51
0
ответов

В чем разница между liftM и mapM в Haskell

В чем разница между функциями liftM и mapM?
вопрос задан: 2 May 2011 18:43
0
ответов

State monad in OCaml

I was trying to implement the state monad in OCaml (as an exercise). My implementation looks like this: module type MONAD_BUILDER = sig type 'at val return:' a -> 'at val bind:' at -> ...
вопрос задан: 30 April 2011 18:24
0
ответов

Почему использование Maybe / Option не так широко распространено в Clojure?

Почему Clojure, несмотря на такой упор на функциональную парадигму, а не использование монады Maybe / Option для представления необязательных значений? Использование Option довольно широко распространено в Scala, функциональное программирование ...
вопрос задан: 30 April 2011 06:09
0
ответов

Смешивание монад в Haskell

Я пытаюсь работать с Ubigraph в haskell, но я считаю, что моя проблема более общая. Я пытаюсь скомпилировать: import Graphics.Ubigraph импорт Control.Monad import System.Posix.Unistd main = do h ...
вопрос задан: 27 April 2011 15:43
0
ответов

Библиотеки преобразователей монад - какую из них использовать? [закрыто]

На Hackage есть много различных библиотек преобразователей монад. Некоторым кажется больше внимания, чем другим. Назовем несколько: mtl (текущая версия по какой-то причине зависит от преобразователей), ...
вопрос задан: 26 April 2011 22:39
0
ответов

Как изменяемые массивы реализованы в Haskell?

Я ' Я прочитал много исследовательских работ по этой теме, и они обычно утверждают, что массивы реализованы с использованием монад. Но ни в одной из этих статей не было четкого определения того, каким должен быть "тип" самого массива ...
вопрос задан: 24 April 2011 20:45
0
ответов

функциональная java: что это за штука P1?

Я смотрю на функциональную Java и не понимаю, что такое P1 является. Может ли кто-нибудь объяснить и / или привести пример? (предыстория: я знаю, что такое каррирование и замыкание)
вопрос задан: 24 April 2011 20:40
0
ответов

Что такое преобразователь монады в отличие от монады?

Вопрос говорит само за себя. Я знаю, что монада (Scala) выглядит так: trait Monad [M [_]] {def pure [A] (a: A): M [A] def bind [A, B] (ma: M [A], f: A => M [B]): M [B] } Что означает Монада ...
вопрос задан: 24 April 2011 17:17
0
ответов

Как создать функцию Haskell, которая превращает строку ввода-вывода в строку ввода-вывода

Я начал изучать Haskell и чувствую себя подавленным Это. Теперь я пытаюсь создать функцию, которая либо возвращает строку из стандартного ввода, либо из содержимого списка файлов. В другом…
вопрос задан: 24 April 2011 16:29
0
ответов

Почему в Haskell нет монады I (только для ввода, в отличие от монады IO)?

Концептуально кажется что вычисление, которое выполняет вывод, сильно отличается от вычисления, которое выполняет только ввод. Последнее в каком-то смысле намного чище. Я, например, хотел бы иметь способ ...
вопрос задан: 24 April 2011 16:28
0
ответов

Дизайн абстракции интерфейса

В настоящее время я пытаюсь написать небольшую игровую программу (Skat) в качестве хобби-проекта. Скат - это игра, в которой два игрока играют против одного. Поскольку есть разные типы игроков (lokal ...
вопрос задан: 24 April 2011 15:32
0
ответов

Haskell and State

Haskell - это чистый функциональный язык программирования. У меня вопрос: Каковы преимущества и недостатки использования Haskell для решения проблем, связанных с большим количеством состояний, например, программирование графического интерфейса пользовате
вопрос задан: 23 April 2011 22:47
0
ответов

Чистые исключения в Haskell

Как можно использовать исключения в Haskell без прохождения ввода-вывода? У меня есть следующий код для вставки элемента в двоичное дерево поиска с минимальным количеством сравнений и без копирования, когда элемент ...
вопрос задан: 23 April 2011 22:10
0
ответов

Функции, которые выглядят чистыми для вызывающих, но внутренне используют мутацию

Я только что получил свою копию Expert F # 2.0 и наткнулся на это утверждение, которое меня несколько удивило: например, при необходимости вы можете использовать побочные эффекты для личных данных структуры, размещенные в ...
вопрос задан: 22 April 2011 22:12
0
ответов

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

Я часто вижу использование и объяснение параллельных стратегий Haskell, связанных с чистыми вычислениями (например, fib). Однако я не часто вижу, чтобы он использовался с монадическими конструкциями: есть ли ...
вопрос задан: 22 April 2011 21:11