Описание тега monadfix
2
ответа
MonadFix экземпляр для Put
Надеюсь, простой вопрос: binary пакет определяет два типа, Get а также Put, Первый по сути является государственной монадой, а второй по сути является писателем. И государство, и писатель имеют разумное MonadFix экземпляры, так что я ожидаю, что Get…
17 июн '12 в 02:16
3
ответа
Экземпляр MonadFix для монады Rand
Я хотел бы генерировать бесконечный поток чисел с монадой Рэнд из System.Random.MWC.Monad. Если бы только был экземпляр MonadFix для этой монады, или экземпляр, подобный этому: instance (PrimMonad m) => MonadFix m where ... тогда можно было бы на…
19 мар '11 в 22:15
3
ответа
Возможно ли реализовать MonadFix для `Free`?
http://hackage.haskell.org/package/free in Control.Monad.Free.Free позволяет получить доступ к "свободной монаде" для любого данного Functor, Это, однако, не имеет MonadFix пример. Это потому, что такой экземпляр не может быть записан, или он был п…
31 янв '13 в 22:07
1
ответ
Дублирующий код EDSL, созданный с помощью RecursiveDo в Haskell
Использование ghc v8.0.1, скомпилированного с флагом -O2. У меня проблема с RecursiveDo (mdo). Есть две слегка отличающиеся функции, которые должны выдавать один и тот же вывод, но это не так. Следующая функция выдает правильный вывод: proc2 :: Asse…
11 авг '16 в 19:12
2
ответа
Почему `mfix` не является полным в`MaybeT`
Реализация трансформаторов MonadFix за MaybeT не удается, если функция когда-либо оценивает Nothing, Почему Nothing не распространяется по mfix? mfix' :: MonadFix m => (a -> MaybeT m a) -> MaybeT m a mfix' f = MaybeT $ mfix $ \case Nothing …
02 апр '18 в 14:59
3
ответа
Взаимно рекурсивный оценщик в Хаскеле
Обновление: я добавил ответ, который описывает мое окончательное решение (подсказка: единственный Expr Тип данных не было достаточно). Я пишу оценщик для небольшого языка выражений, но я застрял на LetRec построить. Это язык: type Var = String type …
19 авг '10 в 17:31
5
ответов
Завязывание узла с государственной монадой
Я работаю над проектом на Haskell, который включает в себя завязывание большого узла: я анализирую сериализованное представление графа, где каждый узел находится в некотором смещении в файле и может ссылаться на другой узел по смещению. Поэтому мне …
16 июн '12 в 03:34
1
ответ
Ошибка в реализации Data.Map?
Я наткнулся на что-то, что я думаю, это ошибка в Data.Map, но это также вполне возможно ошибка в моих знаниях Haskell. Надеюсь, кто-нибудь может уточнить, что это такое:) Пожалуйста, обратитесь к этой сути. Я сериализую структуру кругового связанног…
24 июн '12 в 19:28
1
ответ
Возможно ли разворачивать ленивое монадическое розовое дерево первой ширины?
Data.Tree включает в себя unfoldTreeM_BF а также unfoldForestM_BF функции для построения деревьев в ширину, используя результаты монадических действий. Развертывание дерева можно легко записать с помощью развертывания леса, поэтому я сосредоточусь н…
02 янв '15 в 21:03
1
ответ
Класс типов для повторяющихся действий до фиксированной точки
Я заметил общую схему выполнения действия до тех пор, пока оно не перестанет иметь определенные эффекты, когда известно, что это означает фиксированную точку (т. е. не может быть никаких будущих эффектов). есть класс типов для этого? это покрывается…
05 фев '14 в 23:06
1
ответ
MonadFix на строгом языке
Я работаю над расширением camlp4 для haskell-подобной записи do в Ocaml и пытаюсь выяснить, как GHC компилирует рекурсивные привязки do (включается с -XDoRec).Интересно, возможно ли существование монадического комбинатора с фиксированной точкой на с…
21 мар '13 в 16:55
2
ответа
MonadFix экземпляр для []
Экземпляр определяется как instance MonadFix [] where mfix f = case fix (f . head) of [] -> [] (x:_) -> x : mfix (tail . f) Но я не могу понять интуитивное значение этого понятия в отношении [] Монада рассматривается как недетерминированные вы…
03 июл '16 в 09:55
2
ответа
Экземпляр MonadFix для преобразователя монад интерпретатора, созданного FreeT?
У меня есть упрощенная версия стандартного интерпретатора монад трансформатора, сгенерированного FreeT: data InteractiveF p r a = Interact p (r -> a) type Interactive p r = FreeT (InteractiveF p r) p это "подсказка", и r это "среда"... можно было…
20 мар '15 в 07:59
1
ответ
Почему не может быть экземпляра MonadFix для продолжения монады?
Как мы можем доказать, что у монады продолжения нет действительного экземпляра MonadFix?
13 сен '14 в 20:10
1
ответ
Какие-нибудь методы для восстановления достаточно лени, чтобы связать себя узами монады?
Я хочу написать небольшой кусочек кода (сэкономив мне много времени для реализации в противном случае), связав узел. Это примерно так, n <- myinstr n x где в теории, myinstr должен бежать x получить значение, которое станет n, myinstr, который ра…
05 дек '11 в 00:41
2
ответа
Использование Cont для приобретения ценностей из будущего и прошлого
Я пишу интерпретатор брейкфак на Хаскелле и придумал очень интересное описание программы: data Program m = Instruction (m ()) (Program m) | Control (m (Program m)) | Halt Тем не менее, сложно разобрать текстовое представление программы Brainfuck в э…
12 май '12 в 00:35
0
ответов
Что означает тильда в лямбда-выражении?
На 7-й странице этой книги есть тильда (показана красным кружком на рисунке ниже) в определении toggle, Что означает тильда?
27 июн '15 в 13:57
1
ответ
Может ли монадическое розовое дерево иметь экземпляр MonadFix?
Дано newtype Tree m a = Tree { runTree :: m (Node m a) } data Node m a = Node { nodeValue :: a , nodeChildren :: [Tree m a] } Есть ли действительный MonadFix пример? Моя попытка была instance MonadFix m => MonadFix (Tree m) where mfix f = Tree $ …
15 дек '17 в 13:16
2
ответа
Есть ли экземпляр Monad, но нет MonadFix?
Вопрос в основном в названии. Это похоже на mfix может быть определено для любого монадического вычисления, даже если оно может расходиться: mfix :: (a -> m a) -> m a mfix f = fix (join . liftM f) Что не так с этой конструкцией? Кроме того, по…
12 сен '14 в 18:23
2
ответа
Haskell: монадическая фиксированная точка на RWS зацикливается при переходе по аргументу
Я пишу программу, которая включает RWSдля отслеживания изменяемого состояния и создания журнала. Моя цель состоит в том, чтобы определить вычисление, которое оценивает какое - то действие, собирает aftercoming состояния и в зависимости от этого доба…
03 янв '20 в 14:41