Я пытаюсь определить монаду Читателя с scalaz как это: импортируйте scalaz._, импортируют Scalaz._ заключительный класс Читатель [E] (частный [читатель] val runReader: E => A) возражают Читателю {определение применяется [E] (f: E =>...
Идея, что стандартный класс Монады испорчен и что он должен на самом деле расширить Функтор или Указанный, плавает вокруг. Я не обязательно утверждаю, что это - правильный поступок, но предположить...
Я читаю главу Монад в Реальном мире Haskell (глава 14). Функция определяется следующим образом: введите RandomState = StdGen состояния getRandom:: Случайный => RandomState getRandom = добираются и...
У меня есть функция, которая проверяет, является ли тип подтипом другого типа: Св.:: Монада m => Строковый тип Карты - ^type среда-> Набор (Тип, Тип) - ^assumed подтипы-> (Тип...
Вот выдержка из документации по оценке: Control.Exception.Base.evaluate::a -> IO оценка x не одно и то же как вернуть $! x Правильным определением является оценка x = (...
Существует слишком много руководств по монадам, в которых говорится... "Смотрите! Вот случай, когда мы можем использовать монаду" или "Вот для чего нужна монада". Что я хочу знать, так это какие шаги...
Я изучаю Haskell и пытаюсь понять монады. У меня два вопроса: насколько я понимаю, Monad - это просто еще один класс типов, который объявляет способы взаимодействия с данными внутри «контейнеров», ...
Я пытаюсь понять Cont в Haskell, поэтому я реализую Functor, Applicative и Monad для этого. Я определяю Cont как новый тип Cont r a = Cont {runCont :: (a - > r) - > Теперь я пытаюсь реализовать & ...
У меня есть функция, которая возвращает значение, заключенное в монаду, производитьMessage :: MonadIO m = > KafkaProducer - > ProducerRecord - > m (Может быть, KafkaError) И у меня есть код для вызова этого ...
Я пытаюсь создать свою монаду Btree, и я не знаю, как определить возврат для этого, так как я хочу поместить значение в узел (значение листа) и оставить другую ветвь пустой. Дерево модуля где ...
У меня есть следующая функция :get ::Chars -> IO Chars get cs = do char < -getChar let (dats, idx )= (curData cs, curIndex cs )let (x,y :xs )= splitAt idx dats пусть замена =...
У меня проблема с Haskell. У меня есть текстовый файл, который выглядит так: 5.
7. [(1,2,3),(4,5,6),(7,8,9),(10,11,12)]. Я понятия не имею, как мне получить первые 2 числа (2 и 7 выше) и список...
Итак, я не программист на Haskell, но я абсолютно заинтригован многими идеями, стоящими за Haskell, и собираюсь изучить его. Но я застрял на первом месте: я не могу обернуть голову ...
Монады в теории категорий определяются тройками T, unit, flat⟩. класс Monad t, где map :: (a -> b) -> (t a -> t b) - единица действия функтора :: a -> t a flat :: t (t a) -> t a ...
У меня есть код, который в настоящее время использует монаду ST для оценки. Мне нравится не помещать ввод-вывод повсюду, потому что метод runST дает чистый результат и указывает, что такой результат можно безопасно вызывать (в отличие от ...
Я заметил, что Data.UnionFind использует монаду IO для предоставления указателей через IORefs.Я думаю, что все с радостью вызывают unsafePerformIO при локальном использовании в чистом коде, так как структура данных настолько хороша...
Я работаю над «Напишите себе схему за 48 часов» (я примерно до 85 часов), и я дошел до части о добавлении переменных и присвоений. В этой главе произошел большой концептуальный скачок, и ...
У меня проблема, с которой стек монадных преобразователей (или даже один монадный преобразователь) через ввод-вывод. Все хорошо, кроме того, что пользоваться лифтом перед каждым действием ужасно надоедает! Я подозреваю, что есть ...
Как и многие безрассудные пионеры до меня, я пытаюсь пересечь бездорожную пустошь, которая называется «Понимание монад». Я все еще шатаюсь, но не могу не заметить некую подобную монаде ...
Я новичок, и монады меня полностью сбивают с толку. Учитывая список имен файлов, я хотел бы знать, все ли файлы существуют. Как правило, я бы хотел: импортировать System.Directory и монады меня полностью сбивают с толку. Учитывая список имен файлов, я хо
Я думал, что начинаю понимать IO в Haskell, пока не столкнулся с следующая проблема. У меня есть следующая функция, которая возвращает тип IO Float: getFundPrice :: Int -> Int -> IO ...
Я знаю, что следующая функция «связывания» нотации «do» эквивалентна getLine >> = \ line -> putStrLn do line < - getLine putStrLn line Но как следующая нотация эквивалентна ...
Я играю с архитектурой приложения и бесплатными монадами в haskell. Я получил его, за исключением того, как поднять мою «инструкцию» в правильный слот моего побочного продукта, не давая явно полный левый / ...
я пытаюсь написать простой Maybe monad на C#. Я хочу иметь возможность использовать синтаксис запросов LINQ с ним. Вот что я придумал до сих пор: использование System;
используя System.Collections.Generic; ...
Это вопрос, который несколько раз возникал у меня при разработке код, особенно библиотеки. Кажется, это вызывает некоторый интерес, поэтому я подумал, что это может стать хорошей вики для сообщества. Ошибка ...
В комментарии к одному из моих ответов: SO пользователь sdcwc по существу указал, что следующий код: comb 0 = [[]] comb n = let rest = comb (n-1) in map ('0' :) rest ++ map ('1' :) rest. ..
Возвращаясь, по крайней мере, к концу 1990-х годов, были люди, желающие интегрировать ограниченные монады в Haskell по-дружески. Например, без ограниченных монад нельзя сделать...
В настоящее время я пишу программу на Haskell, которая включает моделирование абстрактной машины, которая имеет внутреннее состояние, принимает входные данные и выдает выходные данные. Я знаю, как реализовать это с помощью государственной монады, которая
Большинство учебных пособий, кажется, дают много примеров монад (ввод-вывод, состояние, список и т. Д.), А затем ожидают, что читатель сможет абстрагируют общий принцип, а затем упоминают теорию категорий. Я не ...
Я иногда встречал шаблон в коде, который напоминает монаду, но
не поддерживает единообразный тип >> =. Вот простейший пример, который я мог придумать: (Сначала какой-нибудь тип -...