だから私はHaskellでゲームを書いていて、プレイヤーのターンをさまざまなターンフェーズに相関する一連の状態変更関数として表現しています。元々、これは次のようになります。
let game' = phase1 game
game'' = phase2 game'
-- etc.
州の君主制の第一候補ですよね?これにより、よりエレガントになります。
do
phase1
phase2
-- etc.
ただし、ボイラープレートの「状態取得」ステップから始めるには、、phase1
などを変更する必要があるようです。phase2
phase1 = get >>= \game -> -- ...
これを抽象化する方法があることを望んでいるので、発信者と着信者の両方で定型文を避けることができます。私はこの方法が何であるかを知るにはあまりにも新しいです(これは私の最初の本当のHaskellプロジェクトです)。何かアドバイス?