packages feed

WidgetRattus-0.5: CHANGELOG.md

# 0.5

 - Include push-pull-style behaviours and events (modules
   `WidgetRattus.Behaviour` and `WidgetRattus.Event`) along with a
   variant of the widget library based on behaviours and events
   (module `WidgetRattus.PushPull.Widgets`).
 - Rename `trigger`, `triggerM`, `triggerAwait`, and `triggerAwaitM`
   in `WidgetRattus.Signal` to `sample`, `sampleM`, `sampleAwait`,
   and `sampleAwaitM`, respectively, and `trigger` and `triggerAwait`
   in `WidgetRattus.Future` to `sample` and `sampleAwait`.
 - Support GHC 9.10, 9.12, and 9.14. With GHC 9.10 and later, monomer
   and some of its dependencies need `allow-newer` for `containers`
   (see README).
 - Fix the multiplicity of the binder that the plugin generates for
   `delay`.
 - Scope checking now also accounts for `Stable` constraints brought
   into scope by patterns that the type checker wraps in a coercion,
   e.g. when matching on a constructor of a data family instance.
 - New signal combinators `parallel` and `parallelWith`, and their
   variants `parallelAwait` and `parallelWithAwait` for delayed
   signals.
 - New function `chanSig` in `WidgetRattus.Signal`, which turns a
   channel into a delayed signal.
 - New function `withTime` in `WidgetRattus`, which gives a delayed
   computation access to the time at which it ticks.
 - New type synonym `DTime` and operator `<->` in `WidgetRattus.Time`
   for time differences.
 - New strict sum type `:+` in `WidgetRattus.Strict`.
 - New `Functor` instance for `Maybe'`.

# 0.4.0.1

 - The constraint solver for stable types can now handle data types
   with existential variables that have a `Stable` constraint, e.g. a
   GADT with constructor `MkFoo :: Stable a => !a -> Foo` is now
   recognised as stable.
 - Scope checking of variable now accounts for pattern matching with
   existential types. So pattern matching against the type `Foo`
   defined above accounts for the stable constraint. For instance, a
   function definition `fun (MkFoo x) = box x` now type checks.

# 0.4

- The C monad can now be discharged under the O modality via delayC.
- The C monad can now also query the current time.
- Remove Producer class.
- Remove Channels module; channels primitives are now in Primitives module.

# 0.3

- Include the Widgets library.
- Replace module names from AsyncRattus to WidgetRattus

# 0.2

Extend continuous types so that they can track their channel
dependencies.

# 0.1.1

Multiple channels can fire simultaneously now. This makes filter
functions better behaved.

# 0.1.0.1

Fix elaboration bug that cause a compiler panic

# 0.1

First release.