Вопросы по теме 'reader-monad'

Haskell — глубина для каждого узла в бинарном дереве с использованием монады Reader
Я написал следующий код. Он работает и использует монаду Reader . Не могли бы вы дать мне несколько советов о стиле кода в Haskell? В основном я имею в виду монады - я новичок. import Control.Monad.Reader data Tree a = Node a (Tree a) (Tree...
806 просмотров
schedule 27.07.2023

Зачем определять параметр конструктора Reader как функцию?
Изучая Монаду Читателя, я обнаружил, что она определяется как: newtype Reader r a = Reader { runReader :: r -> a } instance Monad (Reader r) where return a = Reader $ \_ -> a m >>= k = Reader $ \r -> runReader (k (runReader m...
167 просмотров
schedule 01.11.2022

Модификация внутреннего считывателя в стеке-трансформере
Я собираю код из разных мест и пытаюсь решить следующее: Проблема У меня есть стек трансформатора следующего упрощенного типа: action :: m (ReaderT r IO) a и я пытаюсь использовать действие в контексте другого стека, который имеет...
122 просмотров

Уточнение монады чтения
Я пытаюсь понять монаду читателя, но, кажется, не могу понять, что делает bind (>>=) в этой монаде. Вот реализация, которую я анализирую: newtype Reader e a = Reader { runReader :: (e -> a) } instance Monad (Reader e) where return a...
252 просмотров
schedule 04.06.2023

Reader Monad - объяснение тривиального случая
Я пытался разобраться с монадой читателя и наткнулся на это руководство . В ней автор представляет такой пример: example2 :: String -> String example2 context = runReader (greet "James" >>= end) context where greet :: String...
1049 просмотров
schedule 04.01.2023

Как внедрить зависимости через Scala Reader из кода Java
Вот служба зависимости: public class Service1 {} Код Scala, который использует его через считыватель: object TupleEx { type FailFast[A] = Either[List[String], A] type Env[A] = ReaderT[FailFast, Service1, A] import...
89 просмотров

f, g, h :: Клейсли ((-›) e) a b ‹=› f ››› (g &&& h) = (f ››› g) &&& (f ››› h)?
Изменить: мы будем называть стрелку p чистой, если существует такая функция f , которая: p = arr f . Я пытаюсь лучше понять Arrows в Haskell и хочу выяснить, когда f >>> (g &&& h) = (f >>> g) &&& (f...
184 просмотров
schedule 04.02.2023

Как мне запустить этот метод с MonadReader и MonadIO?
Я слежу за этот пост о монаде чтения в Haskell. Он начинается с определения: load :: Config -> String -> IO String load config x -> readFile (config ++ x) Где Config — это псевдоним типа для String, представляющий имя каталога....
164 просмотров
schedule 25.02.2023

Не удалось вывести MonadReader в обертке ReaderT
Следуя и адаптируя эту запись в блоге , я пытался создайте решение, которое должно позволять тестировать функцию, которая читает env vars (используя System.Environment.lookupEnv ). Таким образом, я должен иметь возможность внедрить искусственную...
59 просмотров