monads- все статьи тега ➜ страница 0
Зачем нужны монады?
на мой скромный взгляд ответы на знаменитый вопрос " Что такое монада?"особенно самые проголосовавшие, пытаются объяснить, что такое монада без четкого объяснения почему монады действительно необходимы. Можно ли их объяснить как решение проблемы? ...
Почему побочные эффекты моделируются как монады в Haskell?
может ли кто - нибудь дать некоторые указания на то, почему нечистые вычисления в Haskell моделируются как монады? Я имею в виду, что монада-это просто интерфейс с 4 операциями, так что было рассуждение о моделировании побочных эффектов в нем? ...
Разница между State, ST, IORef и MVar
Я работаю через напишите себе схему за 48 часов (Я до 85 часов), и я добрался до части о добавление переменных и задания. В этой главе есть большой концептуальный скачок, и я хотел бы, чтобы это было сделано в два этапа с хорошим рефакторингом между ними, а не прыгать прямо к окончательному решению. В любом случае... Я заблудился с несколькими различными классами, которые, кажется, служат одной и той же цели: State, ST,IORef и MVar. Первые три упоминаются в тексте, в то время как последний, по- ...
Как играть с управлением.Монада.Писатель в Хаскелле?
Я новичок в функциональном программировании и недавно учился в узнать вы на Haskell, но когда я прошел эта глава, Я застрял с программой ниже: import Control.Monad.Writer logNumber :: Int -> Writer [String] Int logNumber x = Writer (x, ["Got number: " ++ show x]) multWithLog :: Writer [String] Int multWithLog = do a <- logNumber 3 b <- logNumber 5 return (a*b) Я сохранил эти строки в a .hs-файл, но не удалось импортировать его в мой ghci, который жаловался ...
Монады как дополнения
Я читал о монадах в теории категорий. Одно определение монад использует пару сопряженных функторов. Монада определяется круговым движением с использованием этих функторов. По-видимому, дополнения очень важны в теории категорий, но я не видел никакого объяснения монад Хаскелла в терминах сопряженных функторов. Кто-нибудь задумывался об этом? ...
Монада паузы
монады могут делать многие удивительные, странные вещи. Они могут создавать переменные, которые содержат суперпозицию значений. Они могут позволить вам получить доступ к данным из будущего, прежде чем вычислить его. Они могут позволить вам писать деструктивные обновления, но не совсем. И тогда продолжение монады позволяет вам ломать умы людей! обычно ваш собственный. ; -) но вот задача: можете ли вы сделать монаду, которая может быть пауза? data Pause s x instance Monad (Pause s) mutate :: (s ...