私はと読んでいます。例文でPurescriptを読んでいて、読者のモナドを紹介しています。この例は次のようになります。 createUser :: Reader Permissions (Maybe User)
createUser = do
permissions <- ask
if hasPermission "admin" permissions
then m
私はハスケルのモナドで遊んでいるだけで、修正できないようなエラーが出てくる。私のコードセグメントは、ステートモナドを使用して、文字列の最初の2文字をまとめてステートの一部として返します。私の "put"行は私にエラーを与え続ける: * Non type-variable argument in the constraint: MonadState [a] m
(Use FlexibleC
Functional Programming in Scalaの第6章を読んで状態モナドを理解しようとしたら、副作用クラスをラップすることについて質問があります。 いいえ、私は多分自分自身を変更するクラスがあります。 class SideEffect(x:Int) {
var value = x
def modifyValue(newValue:Int):Unit = { va
私はWriterTとState(それはadvent of code day 15です)を使ってHaskellの練習問題を解決しようとしている概念を理解しようとしています。何らかの理由で、私はメモリの負荷を使用して終了し、私のノートブック(ちょうど4Gラム)が停止に終わることを理解していない。 私の最初のアイデアは、厳密さを使い、周りに振りかけることでしたが、問題は解決しません。 誰かが私がどこに間
mtlのモナド・スタックがあるとします。 ExceptT String (WriterT String (State s a))、外側のモナドをアンラップする必要なしに内部状態のモナドをどのように評価できますか? have :: ExceptT String (WriterT String (State s)) a
f :: State s a -> a
want :: ExceptT St
私はこれに続く続きを一般的に理解しようとしています。tutorial。 しかし、私は困難がセクション2.10で次の例を理解するために持っています: # let get() =
shift (fun k -> fun state -> k state state) ;;
get : unit => ’a = <fun>
state私は考えタイプintです。私が得ないのは、kのタイプで
ことでレンズのStateモナドと使用を理解しようと、私はシンプルなカウンタのレンズの驚くほど平凡な定義に到着したものの: self :: ASetter s s s s
self = ($)
incrementUsingLens :: State Int()
incrementUsingLens = self %= (+1)
私の場合は type ASetter s t a b = (