0
由於部分應用的功能are instances of the MonadReader
,爲什麼下面的代碼不正確?Monad閱讀器和部分應用功能
runReader (\x -> x + 2) 4
甚至
runReader (\x -> pure $ x + 2) 4
由於部分應用的功能are instances of the MonadReader
,爲什麼下面的代碼不正確?Monad閱讀器和部分應用功能
runReader (\x -> x + 2) 4
甚至
runReader (\x -> pure $ x + 2) 4
停留MonadReader
實例允許您使用 「閱讀器操作」(local
,ask
,asks
),但runReader
是明確用於運行類型的Reader
。
因此,舉例來說,你可以做monadReaderFun
這是因爲:
readerFunction :: Int -> Int
readerFunction = do
x <- ask
pure (x + 2)
但有沒有必要「運行」,你用Reader
或ReaderT
類型值的方式做。