monads

    0

    1答えて

    私は新しい関数parse :: String - > Stmを書く必要があります。 Parsecはすでに解析関数を持っているので、parseが私のラッパー関数を返すように修飾されたparsecをインポートするはずです。 ラッパー関数は、入力文字列をParsecの解析関数に解析し、返されたモナドから結果をアンパックする必要があります。これは私のラッパー関数のコードです。 parseが呼び出されたとき

    6

    1答えて

    私はこのストレートMaybeモナドを実装しようとしました。したがって、基本的には、中間ステップの1つがNothingの場合、式全体がNothingと評価されます。 type Maybe<'a> = | Just of 'a | Nothing type MaybeBuilder() = member this.Combine ((first, second) : M

    0

    1答えて

    db.findUser(id).then(R.pipe( R.ifElse(firstTestHere, Either.Right,() => Either.Left(err)), R.map(R.ifElse(secondTestHere, obj => obj,() => Either.Left(err))), console.log )) 最初のテストに合格

    8

    2答えて

    次typechecks: instance (Applicative f, Alternative f, Foldable f) => Monad f where (>>=) = flip $ \f -> foldr (<|>) empty . fmap f -- Or equivalently a >>= b = getAlt . foldMap Alt . fma

    2

    2答えて

    副作用を行い、値を返す関数をどのように構築しますか? たとえば、私は次の関数たい: def futureFromHttpCall: Future[HttpResponse] = doHttpCall.foreach(publishDomainEvent).returnOriginalFuture を(何とか私は猫と多少馴染みのパスイムであれば、この問題の解決策が存在する場合、モナドは

    1

    3答えて

    (Something -> Something)のような関数を使用して返しますが、タイプは(Maybe Something -> Maybe Something)ですか? 例えば: f :: Point -> Point f x = [some code goes here] makeItMaybe :: (Point -> Point) -> (Maybe Point -> Maybe P

    3

    2答えて

    私は非常に単純な関数f :: Int -> Intを持っていて、それぞれn = 1,2,...,maxに対してfを呼び出すプログラムを書いてみたいと思います。 fの呼び出しのたびに、その時点までに使用された累積時間が表示されます(nおよびf n)。これはどのように実装できますか? 私はまだHaskellでは、入力/出力には本当に新しいですので、これは私が(いくつかのおもちゃの例機能fを使用して)こ

    0

    1答えて

    モナドの理解を深めようとしています。 私はいくつかのモナドのリターン、ジョイン、およびバインドの実装を記述しようとしています。 しかし、二kindedモナドに来たとき、私は一種の混乱している join :: m (m a) -> m a m (m a)はモナドの内側に包まれたモナドことを意味しますが、2-kindedモナドを使用している場合どのような値が暗示されます。 たとえばState Mo

    0

    1答えて

    私はHaskellでidentantionを使用する方法を知っているが、私は、このコードに問題があると思う: module TestTSPGA where import TSPGA -- in this we have the type used on the second function import Data.List main :: IO() main = do