Вопросы по теме 'monadplus'
Определение MonadPlus для Haskell IO
Я просто писал небольшой код и хотел использовать защитная функция в монаде IO. Однако определения MonadPlus для ввода-вывода означает, что мы не можем использовать защиту в земле ввода-вывода. Я видел пример использования преобразователя...
2163 просмотров
schedule
24.08.2022
Что мы можем сделать с Альтернативой, но не можем сделать с Моноидом?
Я прочитал Почему MonadPlus, а не Monad + Monoid? и понял теоретическую разницу , но я не могу понять практической разницы, потому что для List это выглядит одинаково.
mappend [1] [2] == [1] <|> [2]
да. Возможно, имеет разные...
310 просмотров
schedule
26.08.2022
Различие между классами типов MonadPlus, Alternative и Monoid?
Классы типов MonadPlus , Alternative и Monoid стандартной библиотеки Haskell предоставляют два метода с практически одинаковой семантикой:
Пустое значение: mzero , empty или mempty .
Оператор a -> a -> a , объединяющий значения...
6532 просмотров
schedule
24.03.2023
Использовать монаду списка внутри классов типов преобразователей монад?
Моя цель - создать функцию, которая использует монаду списка внутри стека ReaderT WriterT или стека RWS. В более общем плане, как мне использовать монаду списка внутри классов типов mtl, таких как MonadReader, MonadWriter?
Почему я пытаюсь это...
302 просмотров
schedule
29.11.2022
Свести MonadPlus внутри парсера Aeson
Я не уверен, что лаю не по тому дереву, но у меня есть определение Эсона FromJSON , которое выглядит довольно громоздким, и мне было интересно, можно ли превратить его в нечто более краткое. Я хочу сократить синтаксический анализ всего объекта в...
79 просмотров
schedule
19.04.2023
Недетерминированная сортировка слиянием не упорядочивает перестановки лексикографически
Я пытался воспроизвести отступление, упомянутое в Все виды перестановок (Functional Pearl ) Кристиансена, Даниленко и Дилуса, статья для предстоящей конференции ICFP 2016. В разделе 8 (Заключительные замечания) утверждается, что, выбирая конкретный...
131 просмотров
schedule
27.01.2023