Описание тега state-monad
Монада, позволяющая прикреплять информацию о состоянии к вычислениям
1
ответ
Добавление монады состояний в базу данных haskell kv
Играя со старым кодом, обзор здесь простой-дб. и застрял, когда я добавил State Monad в него для дальнейшего сокращения кода. Я почему-то чувствую, что делаю это неправильно. repl cmd = getCmd >>= execCmd cmd >>= displayResult >>= …
02 июн '16 в 15:44
2
ответа
Государственная монада Haskell в отслеживании движения в двух измерениях
Я пытаюсь проследить за движением объекта в двухмерной плоскости, которому был дан список команд "вперед, влево или вправо". До сих пор у меня есть функции, которые принимают компоненты состояния объекта (направление, положение и ходы) и возвращают …
10 июн '16 в 13:07
1
ответ
Реализация flatMap() для перехода между состояниями
Упражнение 6.8, Кьюзано и Бьярнасон, Функциональное программирование в Scala, с. 87 спрашивает, как можно реализовать flatMap() для следующей черты: trait RNG { def nextInt: (Int, RNG) } type Rand[+A] = RNG => (A, RNG) Ключ ответа дает следующее …
06 июн '17 в 19:16
3
ответа
Скаладская государственная монада, примеры
Я не видел много примеров монады состояния скалаза. Этот пример есть, но его трудно понять, и, кажется, есть только один вопрос о переполнении стека. Я собираюсь опубликовать несколько примеров, с которыми я играл, но я бы приветствовал дополнительн…
12 окт '11 в 02:56
5
ответов
ST Monad == Кодовый запах?
Я работаю над реализацией алгоритма UCT в Haskell, который требует значительного объема данных. Не вдаваясь в подробности, это алгоритм моделирования, в котором на каждом "шаге" выбирается листовой узел в дереве поиска на основе некоторых статистиче…
24 окт '11 в 19:05
4
ответа
Я что-то упустил из фундаментальной монады? Зачем хранить состояние и ввод отдельно?
Почему наши функции должны принимать состояние и вход, а не просто состояние, которое включает в себя вход (или вход, который включает в себя состояние?). Я предполагаю, что вы, возможно, захотите применить разные входные данные с одним и тем же сос…
26 фев '14 в 06:44
0
ответов
В сборнике Кабала отсутствует Control.Monad.State, хотя MTL находится в зависимости от сборки
Я пытаюсь создать свой собственный пакет cabal, где один из модулей использует Control.Monad.State, но я получаю следующую ошибку: executable/Example.hs:5:8: Could not find module `Control.Monad.State' It is a member of the hidden package `mtl-2.1.2…
04 фев '14 в 10:27
3
ответа
Используйте две монады без трансформатора
Чтобы понять, как использовать монадные преобразователи, я написал следующий код без такового. Он читает стандартный ввод строка за строкой и отображает каждую строку в обратном порядке, пока не встретится пустая строка. Он также считает строки, исп…
25 июл '15 в 16:57
1
ответ
Haskell - Использование State с Альтернативой
У меня есть тип данных, который выглядит следующим образом: type Parser a = ExceptT ParseError (State [Token]) a А также функции манипулирования состоянием: consumeToken :: Parser Token consumeToken = do toks <- lift get if null toks then throwE …
03 апр '18 в 09:04
0
ответов
Отчеты об ошибках парсера для получения правильных экземпляров
Я пытаюсь построить анализатор сообщений об ошибках в haskell. В настоящее время я смотрю на учебник, и это то, что я до сих пор. type Position = (Int, Int) type Err = (String, Position) newtype Parser1 a = Parser1 {parse1 :: StateT String (StateT P…
23 сен '16 в 11:44
1
ответ
Как связать, положить и вернуть взаимодействовать здесь?
Учитывая следующий код rollDie :: GeneratorState Int rollDie = do generator <- get let (value, newGenerator) = randomR (1,6) generator put newGenerator return value Я знаю, что могу перевести это как: rollDie2 :: GeneratorState Int rollDie2 = get…
11 июл '13 в 16:22
4
ответа
Haskell: Как написать интерактивный переводчик поверх государственной монады?
Мы работаем над модельной файловой системой, которая использует монаду состояний внутри. У нас есть класс типов с такими операциями: class Monad m => FS m where isDirectory :: Path -> m Bool children :: Path -> m [Path] ... Мы работаем над …
08 июл '10 в 18:42
2
ответа
Где утечка памяти при использовании StateT s IO a?
Намерение: небольшое приложение для изучения Haskell: загружает статью википедии, затем загружает все статьи, связанные с ней, затем загружает все статьи, связанные с ними, и так далее... до тех пор, пока не будет достигнута указанная глубина рекурс…
24 июн '18 в 20:41
1
ответ
Как я могу использовать монаду Supply для создания функции, которая генерирует глобально уникальные имена?
Фон: Я делаю проект перевода кода, который требует от меня генерировать имена переменных. Ни одно из имен, которые я генерирую, не должно дублировать друг друга. Я очень расстроен, потому что это было бы глупо просто и элегантно с функцией генератор…
03 апр '14 в 04:53
1
ответ
Создание моей собственной государственной монады
Я понимаю, как использовать монады, но я не совсем понимаю, как их создать. Так что я нахожусь в путешествии, чтобы воссоздать государственную монаду. До сих пор я создал новый тип Toto (foo по-французски) и сделал его экземпляром Monad. Сейчас я пы…
30 мар '14 в 10:02
1
ответ
Продолжайте получать (используйте FlexibleContexts, чтобы разрешить это) Ошибка в простой функции Haskell
Я просто играю с монадами на Haskell и получаю сообщение об ошибке, которое не могу исправить. Мой сегмент кода использует состояние Monad, чтобы сложить вместе первые два символа из строки и вернуть их как часть состояния. Моя строка "put" продолжа…
06 апр '17 в 01:41
2
ответа
Haskell: положить в государственную монаду, кажется, исключено
Я пишу программу для раздачи пиццы людям; каждый человек получит одну пиццу, в идеале своего любимого типа, если на складе не закончится, и в этом случае ему дадут рекурсивный следующий тип. Мой подход состоит в том, чтобы вычислить ((User, Pizza), …
15 апр '15 в 18:16
2
ответа
Понимание StateMonad
Я новичок в Haskell и пытаюсь понять это определение StateMonad, в частности, операцию связывания. Это взято из Обобщения Монад до Стрелок стр. 4. instance Monad (StateMonad s) where return a = SM (\s -> (a, s)) x >>= f = SM (\s -> let S…
08 авг '16 в 05:29
2
ответа
Монад фасад для MonadState в Haskell
Предыстория: я создаю игру с монадой с сохранением состояния для чтения и записи изменений в глобальном состоянии игры. Я хотел бы разделить мою игру на компоненты, такие как "Персонажи", предоставляя доменным способом взаимодействия этих компоненто…
26 окт '15 в 00:31
1
ответ
Haskell - Как бы я управлял списком государственных монад?
Я немного новичок в Хаскеле, и у меня возникли проблемы с государственной монадой. Я создал следующие типы.Stat a для него создан моноид, функтор, аппликативный и монадный экземпляры. "Основной" тип в моей программе - существо, и у него много аргуме…
26 май '17 в 03:58