La funzione changes
ha tipo Frameworks t => Behavior t a -> Moment t (Event t (Future a))
. Future
è astratto e c'è solo una funzione che lo consuma (reactimate'
).Perché `changes` restituisce` Event t (Future a) `
Tuttavia, posso facilmente scrivere la seguente funzione:
changes' :: Frameworks t => Behavior t a -> Moment t (Event t a)
changes' b = fmap (fmap const b <@>) (changes b)
per ottenere un normale (non Future
) evento.
C'è qualcosa di sbagliato in questa funzione? In caso contrario, perché la funzione originale changes
ha un tipo più restrittivo?
ha un senso. Ho disegnato una [foto] (http://i.imgur.com/tVRDv2r.png) per illustrare. –
Collegato ad esso dalla risposta. :-) –