İşte çalışmak için kullanılan kod (umarım uygun şekilde kısaltılır)Reaktif Muz 1.0.0 - Bu eski kod neden kırılıyor?
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
var Ama şimdi tipleri değişti.
elimizde:
makeNetworkDescription :: Parameters -> MomentIO()
ve accumB :: MonadMoment m => a -> Event (a -> a) -> m (Behavior a)
Biraz accumB
tanımından kapalı
bResourceMap :: Behavior ResourceMap
bResourceMap = accumB initRmap $
adjustMarket <$>
bMarketRolls <@
eTick
için bResourceMap
tanımını değiştirmek demek, ancak neler olacak görelim.
ghc
çünkü davranış MonadMoment
kapsamında olması gerekir accumB
türünden bağımsız olarak, bir hatayı
Couldn't match type ‘Behavior ResourceMap’ with ‘ResourceMap’
Expected type: Behavior ResourceMap
Actual type: Behavior (Behavior ResourceMap)
Right verir. MonadMoment
bir göz olması iki örneğini
instance MonadMoment Moment where liftMoment = id
instance MonadMoment MomentIO where liftMoment = MIO . unM
Behavior (Behavior ResourceMap)
fiili tip azmini neden yaptığını Yani, dış tip uymayan bir MonadMoment
, olmak zorunda
Bu tür sorunların nasıl çözüleceği konusunda tavsiyede bulunmak istiyorum, tüm Behavior
tanımlarımda gerçekleşir.
sadece meraklı: bu bir gerçek mi yoksa hobi mi? –
Gerçek, ama bir oyun oyunu değil. Sadece bir oyun olmaktan başka bir amaca hizmet eden bir oyun. –