はここで働いていたコード(私は願って適切に切り捨て)リアクティブバナナ1.0.0 - なぜこの古いコードは壊れていますか?
makeNetworkDescription :: forall t . Frameworks t => Parameters -> Moment t()
makeNetworkDescription params = do
eInput <- fromAddHandler (input params)
eTick <- fromAddHandler (tick params)
..
let
bResourceMap :: Behavior t ResourceMap
bResourceMap = accumB initRmap $
adjustMarket <$>
bMarketRolls <@
eTick
だ。しかし、今のタイプが変更されました。
は、我々が持っている:
makeNetworkDescription :: Parameters -> MomentIO()
とaccumB :: MonadMoment m => a -> Event (a -> a) -> m (Behavior a)
は、私は少しaccumB
定義から外れ
bResourceMap :: Behavior ResourceMap
bResourceMap = accumB initRmap $
adjustMarket <$>
bMarketRolls <@
eTick
にbResourceMap
の定義を変更すると言うが、のは、何が起こるか見てみましょう。
ghc
があるため動作がMonadMoment
のコンテキスト内であることが必要accumB
のタイプのエラー
Couldn't match type ‘Behavior ResourceMap’ with ‘ResourceMap’
Expected type: Behavior ResourceMap
Actual type: Behavior (Behavior ResourceMap)
権利が与えられます。 Behavior (Behavior ResourceMap)
に実際の型決意をした理由は、私は2つのインスタンス
instance MonadMoment Moment where liftMoment = id
instance MonadMoment MomentIO where liftMoment = MIO . unM
を見つけるMonadMoment
見を持つことは、だから、外型が一致しないMonadMoment
、なければなりません。
私はこのタイプの問題を解決する方法についてアドバイスをしたいと思います。すべての私のBehavior
定義で起こります。 accumB
の新しいタイプに合わせてコードを調整
ちょうど興味深い:これは本当ですか、それとも趣味のプロジェクトですか? –
これは実際のゲームクアゲームではありません。単なるゲームではなく目的を果たすゲームです。 –