monads

    1

    1答えて

    私は比較的新しいHaskellです。今私はリーダーモナドをより完全に理解しようとしています。それはその目的と使用方法がより明確になっているようです。しかし、ハスケルで:t readerのタイプを見ている間に私はreader :: MonadReader r m => (r -> a) -> m aを参照してください。この型制約は何を意味しますか? 私はエラー <interactive>:21:11

    0

    1答えて

    私は3つのモナディック関数を用意しています。それらは一緒に構成し、条件付きで述語に分岐したいと考えています。私は多分一般のトレードオフを持つソリューションを探しています。矢印(ArrowChoice?)とMonadsは有望視されています。 不自然な問題はこれです:私は、多くのお客様の 『個人番号』を追跡してサービスを実行 。最初にログインした場合、その番号は0に設定されています。以前ログインしてい

    4

    1答えて

    Control.Monad.ReaderにReader MonadとMonadReaderモナドがあるのはなぜですか?パッケージのドキュメントでは、Readerのモナドについて説明し、MonadReaderのマニュアルを直接説明しません。これらのモナドの違いは何ですか?これらのリファレンスページを読むことは、私を混乱させるだけのことになりません。興味深いことに、Haskellウィキブックスの読者モ

    3

    1答えて

    リストモナド(フラットリストを持つもの、リストとマップ要素を連結したもの)はフリーモナドではないことを自信を持って考えています(正確には、フリーモナドファンクタT)。私の知る限り理解し、私は は、この関係にはないことを示し、 最初の通常の事業者のFMAP間モナドリストの関係を見つけることによって、などに参加することを達成することができるはずです無料モナド一線を画している、リストモナドに保持している

    5

    1答えて

    okamlにフリーモナドライブラリーを書き込もうとしていますが、これはhaskellのControl.Monad.Freeの後にありますが、hoistFreeの実装では一点に止まっています。 hoistFree :: Functor g => (forall a. f a -> g a) -> Free f b -> Free g b hoistFree _ (Pure a) = Pure a

    3

    1答えて

    モナド変圧器をよりよく理解するために、私は1つを実装しました。 Javascriptは動的に型付けされているので、型やデータコンストラクタを模倣するのではなく、特定のモナド/トランスフォーマを形成するために対応する静的関数を保持する普通の古いJavascriptオブジェクトのみを宣言します。基本的な考え方は、これらのメソッドをコンテナ型の値/値に適用することです。タイプと容器は話すように分かれてい

    0

    1答えて

    私はアルチョームのアイソーンのチュートリアルを働いている、と自分自身にこのスニペットをコード化されています: parseFoo (Object obj) = do a <- case HM.lookup "a" obj of Just x -> parseJSON x Nothing -> fail "no field 'a'" return a

    2

    1答えて

    は、私は(それが何をするか、実際に、または!)Haskellのrecursion-schemesパッケージから、この非常に抽象的再帰関数がどのように機能するかを理解しようとしています - this fileから:特に class Functor (Base t) => Corecursive t where [...] -- | A generalized postprom

    3

    1答えて

    以下の関数を1行で書き換えることはできますか? action :: NewTenant -> AppM (Either TenantCreationError Tenant) action newTenant = (createTenant newTenant) >>= \case Left x -> return $ Left x Right y -> do t

    9

    1答えて

    ハスケルのSTモナドが正しく理解されている場合、runSTはモナドをエスケープする際に計算が他のスレッドを参照しないように賢明な方法でランク2型を使用します。 私はHindley-Milnerタイプのシステムでおもちゃの言語を使用しています。私の質問は次のとおりです.STモナドが安全になるようにrunSTアプリケーションを入力するアドホックルールを使用してHMタイプシステムを拡張できますか?脱税可