monads

    2

    3答えて

    ImはFuture.traverseを使用して、実行の順序が保証されています。私の関数fnは呼び出されなければならず、未来は次の要素に対して実行される前に完了しなければなりません。 val xs = Seq[T] ??? def fn(t: T): Future[Unit] = ??? Future.traverse(xs)(fn) おかげで、

    0

    4答えて

    以下はan answer regarding memoizationのコードで、州のモナドで使用されているメモ機能を示しています。キーがマップにない場合は、渡された関数の結果で状態が更新されます。 type MyMemo a b = State (Map.Map a b) b myMemo :: Ord a => (a -> MyMemo a b) -> a -> MyMemo a b my

    0

    1答えて

    私は、TypeScriptのモナディ・ライブラリーをあらかじめ確認する方法を見つけようとしています。モナドの実装自体は楽しく進んでいますが、その使い方はおなじみのコールバック地獄のようです。 async/await/yield/ofの既存のモナドの構文的な砂糖をハイジャックする方法があるのだろうかと疑問に思っていましたが、私はドットを接続する際に問題があると認めなければなりません。これらのコンスト

    0

    1答えて

    sum()は、a,b、c、およびa < b(たとえ、条件が失敗したという表現を示すために "We screwed!"という文字が表示されます)の合計を既に得ています。私は public static IO<T> Where<T>(this IO<T> t, Func<T, bool> foo) { return() => (foo(t()) ? t : Combine(() => de

    3

    1答えて

    私はしばらくの間、IOモナドを把握しようとしてきました。私が誤解されていない場合、目標は副作用の説明と実際の実行を分割することです。以下の例のように、Scalaは、参考にトランスパランではない環境変数を取得する方法を持っています。 2つの質問が発生しました。 質問1:この1参照上transparant 質問2:どのように(単位/プロパティベース)を適切には、これをテスト?メモリ参照をチェックし、内

    2

    2答えて

    最近モナドについて多くのことを研究しており、ハスケルプログラミング言語の新機能です。 これは私のコードです: import Data.List import System.IO f :: Int -> (Int, [Char]) f x = (x, ['a']) g :: Int -> (Int, [Char]) g y = (y, ['b']) (>>=) :: (Int ->

    2

    1答えて

    私は m = Map.fromList [("a","b"), ("b","c"), ("c","d"), ("d","e")] f x m = fromMaybe "default value" $ Map.lookup x m lookup' x = f x m モナドは今、私は読者のモナドを作成したいリーダーで動作するようにしてみてください。 : r = reader lookup

    1

    1答えて

    Haskellでは、任意の数のファイルに書き込むにはどうすればよいですか? 例として、aからzまでの文字を取り込み、その内容の名前のファイルに入れたいとします。最初の試みは、次の操作を実行することでした。次のエラー生成 main :: IO() main = do let letter = map (:"") ['a'..'z'] zipWith writeFile le

    6

    1答えて

    私は小さなインタプリタを書く必要があるプロジェクトに取り組んでいます。命令は単純なツリー構造を持ち、コマンドの1つは実行を中止する効果があります。下の例では、 "baz"は決して印刷されません。 import Control.Monad.Cont data Instruction = Print String | Halt | Block [Instruction] deriving