monads

    5

    1答えて

    私はContのモナドトリックで、hereと記載されており、this SO questionに入っています。 この機能を使用すると、違ったことを行うことができるようにパラメータを取って、あなたが以前の計算での「バックジャンプ」することができます: import Control.Monad.Cont import Control.Monad.State.Strict import Control.

    3

    1答えて

    私はあなたが単にそのためmapM_ :: Monad m => (a -> m b) -> [a] -> m()を使用することができ、この test <?> [ arg1 , arg2 , arg3 , arg4 ]

    -2

    1答えて

    私はアクションの実行を強制的に強制して、IOアクションを得なければならない場所で、Control.Monad.Exceptを使用しています。なぜこれが必要なのか疑問に思っているのは、実行する必要のあるライブラリ関数がIOアクションのみを受け入れるためです。この場合は、Database.PostgreSQL.Simple.withTransaction :: Connection -> IO a -

    4

    1答えて

    "モナドは、プログラマが順次ビルディングブロックを使用して計算を構築することを可能にする"ので、いくつかの計算を組み合わせることができます。この場合、次のコードを実行できない理由は何ですか? import Control.Monad.Trans.State gt :: State String String gt = do name <- get putStrLn "HI

    -2

    1答えて

    私は取得とモナド状態での変更の定義と混同しています。 Somewhereは言う: が取得する: "供給投影関数を使用して、状態の特定のコンポーネントを取得します"。 modify:状態モナド内で古い状態を新しい状態にマッピングします。古い状態は放棄されます。 つまり、修飾を使用してhereのような状態のコンポーネントに直接値を割り当てることができます。 somewhereしかし、elseは、mod

    6

    2答えて

    モナド・トランスを学んでいますが、リフトを使う必要があるときは混乱しています。 次のコードがあるとします(これは面白いことではありません。デモンストレーションでは最も簡単なコードです)。 foo :: Int -> State Int Int foo x = do (`runContT` pure) $ do callCC $ \exit -> do when (

    0

    1答えて

    私はハスケルには新しく、おそらく本当に愚かな質問をしています。 は、私が実行するには、次のコードを取得しよう: asdf :: Maybe a -> Maybe a asdf k = do return $ case k of Nothing -> Nothing Just x -> Just x 私はリターンが非感があるだけでやるということ、これは

    -1

    1答えて

    私が選択肢を見るときに考えた最初のことは、基本的にはml形式の言語からの多分モナドであるということでした。しかし、真のモナドは物を二重に包むべきではありません(m(m(a)) == m(a))。どのような状況では、リンクされたリスト構造ではなく、2つのオプションが必要でしょうか? 「ダブルオプション」とは、String??などのタイプシグニチャを意味します。私の考えでは、これは自動的にString

    1

    1答えて

    bind関数(>>=)が署名を有する: m a -> (a -> m b) -> m b しかし、Iシグネチャを持つ関数をしたい: m (t a) -> (a -> m (t b)) -> m (t b) 具体的には、私は整数与えられた機能を持っている、それがIO内に整数のリストを返します。 f :: Int -> IO [Int] ですが、IO of list of Integers

    11

    1答えて

    いくつかのモナドのコンテキストでラップすることになっている「戻る」: *Main> :i return class Applicative m => Monad (m :: * -> *) where ... return :: a -> m a ... -- Defined in ‘GHC.Base’ 私は「何も返さない」の種類が何であるかをGHC