Changelog of @hackage/AFSM 0.1.3.0

0.1.3.0

  • remove GADTs extension, SM a b becomes SM s a b.
  • change type SMState s a b = (s -> a -> (SM s a b, b)) to newtype TF s a b = TF (s -> a -> (SM s a b, b)). The reason is that TF is a SM without initial storage, and it is the instance of several class type.
  • change data SM s a b = SM (SMState s a b) s to data SM s a b = SM (TF s a b) s.
  • SM s a b is no longer an instance of Arrow, but SM () a b is still an instance of Arrow. type SMH a b = SM () a b.
  • the SMFunctor class, and smfmap helps you to use SM s a b as a normal function.
  • more examples.

0.1.2.0

  • switch SM :: s -> (SMState s a b) -> SM a b to SM :: (SMState s a b) -> s -> SM a b.
  • the ArrowApp instance
  • new functions: foldlSM, foldlDelaySM, delaySM, concatSM.
  • working on Event, several undefined functions about Event.
  • It's always hard to pick a name! 'Event', 'Evnt', 'Ev' or 'E'?