monad-transformers

    4

    2答えて

    私はエルムのモナドの欠如に苦しんでいます。 Elm(http://package.elm-lang.org/packages/folkertdev/elm-state/latest/State)のための状態モナドを実装する図書館は私をかなり助けました。 問題は、それぞれが1つしか持たないときに、結果のタイプと状態タイプが交互に入れ子になっている状況に遭遇したことです。 次のシグネチャで関数を記述し

    0

    2答えて

    私は、以下の目標を達成するのに苦労しています。希望の値を返すように、またはステータスコードが成功を示していないときにエラーを返すように、認証トークンが無効です。Either String r。 今、私はコンポーネントのクエリをevalにすると気にしたくありません。私は幸せなパス(無効なログオン試行のような予想されるエラーは幸せなパスとみなされ、予期せぬものを残したいだけです)にエラーがあります。エ

    2

    1答えて

    猫を使って、これを行うにはより良い/より慣用的な方法がありますか? class Foo class Bar extends Foo val eithertBar = EitherT.apply(SomeMonad(Right[Whatever, Bar](new Bar))) val eithertFoo = EitherT[SomeMonad, Whatever, Foo].apply(

    3

    1答えて

    ためです。TypeCheckの前文 これは私が誰かがすでに私の問題を解決したが、私はどこを見れするかわからないと思うこれらの質問の一つです。 質問 私はモナドスタックのアクションは、それが完了しない限りです。TypeCheckに失敗するような方法で完全または不完全であることのアイデアを運ぶMonadTransformerを探しています。 私の状況 私はMVARを保持している状態でのモナドスタックを

    3

    2答えて

    私は私のプロジェクトで無料のモナドを使い始めようとしています。私はそれをエレガントにするために苦労しています。 私は2つのコンテキスト(実際にはもっと持っている) - ReceiptとUserを持っています - どちらもデータベース上で操作をしており、私はそれらのインタプリタを別々に保ち、最後にそれらを構成したいと思います。 このためには、それぞれ異なる操作を定義し、Coproductを使用して1

    1

    1答えて

    そのよう: let maybeReader :: Maybe (ReaderT UDCEnv IO()) = uploadVersionFilesToCaches s3BucketName <$> maybeFilePath <*> Just gitRepoNamesAndVersions 私はそうであっても同じようReaderTを実行することができます。 let maybeIO :

    1

    1答えて

    私はモナド変換器UlffTを次のように定義しました。 私はHalogenで働いているが、これはHalogen -questionではありません - 私はちょうどコンテキストを提供しています。 UlffTは、Affに積み重ねられ、HalogenMで使用されます。 newtype UlffT m a = UlffT (ExceptT Error (ReaderT Env m) a) unUlffT

    3

    1答えて

    私は自分のRegex parser/compilerの実装に取り​​組んでいます。 私は実際のマッチング部分は、バックトラックモナドがどのように働くかを学ぶのに最適な時期だと考えました。例えばリストモナドのように。 私はそうのように私の「マッチ」アルゴリズムを構築することになった: ListTはガブリエルの List.Transformer lib からStateモナドの部分は、私が使用できるよう

    0

    1答えて

    は、私が試したとき: foos <- (return $ map (encode .> cs .> jsonToFoo body) `catch` r400 は、私は、次のタイプのエラーを得た: /path/to/File.hs:47:78: error: • Couldn't match type ‘(->) e0’ with ‘IO’ arising from a f

    3

    1答えて

    私は設定を読んでいる何かを行うhaskellプログラムを書いてみたいです。設定はData.Mapで、Readerに注入されます。また、設定項目が見つからないときは、読み込みを中断する必要があります。停止しただけで、エラーメッセージは必要ありません。だから私はただのモナド(モナドではない)がほしい。 問題は、2つのモナド(ReaderT MaybeまたはMaybeT Reader)をどのように積み重