applicative

    1熱度

    1回答

    我有一個類型爲T的定義如下,我想包裝一個整數在裏面。 newtype T = T Int -- liftM2 (+) (T 1) (T 2) -- error: `T' is not an instance of Monad 現在,如果我想換行操作在包裝中的值,並返回一個類似的結果像什麼liftM*的確,正如上面的代碼所示,但它不工作。我預計下面的一組函數的行爲類似於myLiftT2,但更一

    13熱度

    3回答

    當我使用Functors,Monads和其他Hakell構造時,如果我的代碼不僅僅是幾行,我更喜歡使用一些語法糖,比如do not notation。這使我更容易遵循代碼流程。在文體偏好之外,使用脫糖糖塊與加糖替代品相比有沒有真正的優勢?

    6熱度

    3回答

    我正在使用optparse-applicative版本0.7.0.2。 我想寫一個解析器,需要一些強制性的選擇,但是,當不使用任何選項調用它表明都使用和幫助,而不是僅僅使用(也就是說,我想不帶任何選項調用的行爲作爲調用--help)。 我無法弄清楚如何做到這一點,even if the documentation says it is possible: 在這個例子中打招呼選項是必需的(因爲它不具

    1熱度

    2回答

    關於Control.Applicative,如果我有以下表現: f = (expr1 <|> expr2) <* expr3 是必要的括號?也就是說,不管採取哪個分支,expr3都會被評估(並拋棄)?

    12熱度

    3回答

    This question涉及構造一個適當的Monad實例,該實例爲monad,但僅限於某些約束條件下,例如Set。訣竅是將其包裝到ContT中,這會將約束推遲到包裝/解開其值。現在我想和Applicative一樣。特別是,我有一個Applicative實例,其純粹的有一個類型約束。有沒有類似的技巧如何構建一個有效的Applicative實例? (有正如there is for monads?「所

    8熱度

    1回答

    我的Monad和Applicative之間的區別一個的理解是,flatMap可以用Monad,但不Applicative。 如果這是真的,我迷茫了這些斯卡拉播放JSON docs: 那麼,有什麼有趣的存在是JsResult [A]是一元結構 ,可以與這種結構的經典功能使用: flatMap [X](F:A => JsResult [X]):JsResult [X] 等 但是,隨後的文檔繼續說: 請

    15熱度

    2回答

    我一直在嘗試瞭解應用仿函數的靜態分析。許多消息來源表示,將它們用於monad的優勢在於對靜態分析的敏感性。 但是,我能找到的實際執行靜態分析的唯一example對我來說太複雜了。有沒有更簡單的例子? 具體來說,我想知道我是否可以對遞歸應用程序執行靜態分析。例如,如下所示: y = f <$> x <*> y <*> z 當分析上述代碼時,是否有可能檢測到它是遞歸的y?還是參照透明度仍然可以防止

    4熱度

    1回答

    我將hoistFree從free包概括爲hoistFreeM,類似於如何將fmap概括爲Data.Traversable.mapM。 import Control.Monad import Control.Monad.Free import Data.Traversable as T hoistFreeM :: (Traversable g, Monad m) => (fo

    0熱度

    1回答

    在本書的「Lisp的小件」的開幕頁,有一段是這樣的: 基於「功能」的理念,已經成熟了 幾個世紀以來的想法數學研究,應用語言在計算中無所不在;它們以各種形式出現,例如Un * x字節流的 組成,Emacs 編輯器的擴展語言以及其他腳本語言。 任何人都可以詳細介紹一下「unix字節流的組成」?這是什麼意思?以及它如何與應用/功能編程相關? 感謝, /熊先生

    13熱度

    2回答

    是否有任何不是Applicative的好例子Functor?好的,我正在尋找不需要申訴undefined的非平凡(不是Const Void)的例子。如果沒有任何方法可以證明那裏的空間是無趣的? 這與Good examples of Not a Functor/Functor/Applicative/Monad?類似,但在那裏沒有完全解決。 作爲後續問題,有沒有可能不Applicative情況下,留