![](/img/trans.png)
[英]Monad Transformer missing parameter (?)
我有這種類型的別名: 我知道StateT具有* -> (* -> *) -> * -> *類型,因此它應該獲得三個參數。 但在上面的示例中, StateT僅接收String和IO -Monad。 現在我想知道缺少的參數傳遞給StateT的位置。 IO如此,它應該得到一個參 ...
[英]Monad Transformer missing parameter (?)
我有這種類型的別名: 我知道StateT具有* -> (* -> *) -> * -> *類型,因此它應該獲得三個參數。 但在上面的示例中, StateT僅接收String和IO -Monad。 現在我想知道缺少的參數傳遞給StateT的位置。 IO如此,它應該得到一個參 ...
[英]How to test Monad instance for custom StateT?
我正在學習 Monad Transformers,其中一項練習要求為StateT實現 Monad 實例。 我想使用有效性package 測試我的實現是否符合 Monad 法則,這類似於checkers package。 問題是,我的Arbitrary實例無法編譯。 我看到了這個問題,但它並沒有完全 ...
[英]Creating monad transformer for Future and List
有一個異步客戶端返回列表的未來。 要迭代結果,我需要使用嵌套map和flatMap 。 有沒有一種方法可以創建一個 monad 轉換器,以便能夠使用更簡單的 for-comprehensions,所以它看起來類似於 ...
[英]How do you lift a binary function to monad transformers?
我知道您可以使用liftM將函數提升到 monad,但我認為它似乎不適用於二元函數。 我試着抬起(+)但沒用 ...
[英]Refactor impure recursion with state monad?
我一直在剖析aoc 第 14 天的這個單線解決方案,並遇到了一個優雅的不純遞歸解決方案:def s(x,y): if y>h: return True if (x,y) in m: return False return next((r for d i ...
[英]Implementing MonadError through ExceptT
可以合理地實現MonadError拋出一個新類型包裝ExceptT嗎? 到目前為止我有: 我知道catchError = const會編譯,但這不是我想要做的。 我基本上(認為我)希望catchError在ExceptT是“ Right ”的情況下表現得像catchError在底層 monad 上 ...
[英]Combining StateT and ExceptT monad tranformers
我有以下小工作程序: 現在我想在我的函數checkFoo的子函數doFoo中訪問 State Monad 的值。 例如: 我收到以下錯誤: 為什么這不起作用? 要使這項工作有效,需要進行哪些必要的更改? ...
[英]What's the difference between C++23's optional::transform and optional::and_then?
C++23 添加了一些關於可選值的“monadic 風格”功能,作為optional<T>的方法: optional<T>::and_then() (並忽略this的限定符): 如果包含的值存在,則返回調用 f 的結果。 否則,返回返回類型的空值。optional< ...
[英]Timeout on StateT with IO
我有一個自定義類型type GI a = StateT GenState IO a 其中 GenState 是 state 我保留用於生成某種隨機樹。 生成我的樹時,不能保證在合理的時間內終止。 這就是為什么我認為我可能會終止計算並在超時的情況下一遍又一遍地重新啟動它,直到給出結果。 所以我的問 ...
[英]How to use ST Monad with monad transformers
haskell transformers庫提供MonadIO class 和liftIO以在 monad 變壓器堆棧中提升 IO 操作。 在我看來,ST monad 也可以這樣做,但我在任何 monad 轉換器庫中都找不到它。 這種遺漏有原因嗎? 如何將 ST monad 與MaybeT或Read ...
[英]Getting State environment in a monadic context in an interpreter
我想習慣使用 monad 轉換器,所以我想我會使用ExceptT和State編寫一個簡單的解釋器,其中我的Ident是Map Ident Int是別名的String 。 我的語法定義看起來像 但這並不重要。 當我意識到我不知道如何實際獲取我的環境時,我開始評估標識符表達式: 是我的第一個 go ,但 ...
[英]Where is `EitherT`'s Applicative instance defined?
我在這里看不到EitherT的定義,也看不到Applicative的定義。 不應該在 type 模塊或 typeclass 模塊中定義,以避免被孤立嗎? 它在哪里? ...
[英]StateT for Configuration File
我正在嘗試使用 StateT monad 讀取配置文件部分。 但是遇到了一些麻煩。 誰能告訴我該怎么做? ...
[英]Is there ReaderT raised into a monad?
我編寫了以下單子轉換器(我認為它們彼此等效),即: 這些的目的是我基本上想要一個ReaderT ,但我的環境必須在 Monad 內部訪問,它實際上不是一個固定的純值(在我的情況下,它是一個需要定期刷新的身份驗證令牌)。 我之所以認為MonadReaderT1和MonadReaderT2是等價的,是 ...
[英]How to define a simple KVStore effect 'mtl-style'?
我已經對 polysemy 庫進行了一些實驗,並且喜歡使用polysemy KVStore kv ,它是 Key-Value-Store 的簡單抽象。 現在我想知道如何定義類似的效果“mtl-style”。 我是這個話題的新手,我還沒有找到很多關於如何使用 monad 轉換器設計應用程序的信息。 ...
[英]Confusing ReaderT definition
作為練習,我一直在重新實現一些常見的 monad 及其相應的轉換器; 以下是我定義的一些類型: 當我得到它時,一個變壓器將一個單子“包裹”在一個外部單子m中; 按照這種直覺,我嘗試以類似的方式定義ReaderT轉換器: 但是,我在實現它的 monad 實例時遇到了困難。 通過查看Reader ...
[英]Use explicit execution context with OptionT[Future, _]
我正在嘗試編寫一個自定義Akka SnapshotStore 插件。 我正處於要實現此方法的地步: def loadAsync(persistenceId: String, criteria: SnapshotSelectionCriteria): Future[Option[SelectedSn ...
[英]Is the monad transformer of a monad unique in Haskell?
有幾個問題(例如this和this )詢問 Haskell 中的每個 monad(IO 除外)是否都有相應的 monad 轉換器。 現在我想問一個補充問題。 每個 monad 是否只有一個轉換器(或者在 IO 的情況下沒有轉換器)還是可以有多個轉換器? 一個反例是兩個 monad 轉換器,它們在應 ...
[英]Problem with given instances writing MTL style code with Scala cats
我正在嘗試編寫一些 Scala 代碼以具有mtl 樣式的自定義行為。 例如,為了公開對特定效果進行抽象的“寫入數據庫”功能,我編寫了自己的類型類: trait CanPersist[M[_]]: def persistToDB[A](a: A): M[Unit] given CanPersis ...
[英]How can I manage to print from a monad transformer
我設法獲得了 monad 轉換器 MaybeT 的編譯代碼。 (我正在關注haskell wikibook ) 但是,我似乎無法讓我的代碼打印任何東西在 ghci 上運行askPassphrase ,我得到一個 noinstance error: No instance for (Data.Fun ...