Uploaded by
Published on

Signals from outer space

This library is a competing Signaling implementation, modeled after Bodil's purescript-signal library.

It's differences?

  • The signal effects for all handlers are explicit in Zeta
  • Zeta Signals are traversable, but not functors, because mapping over a signal creates a new one (signals are references)
  • There's an included StrMap-based signaling system, but it's not that useful

Generally, I just wanted a pure implementation of Bodil's Signal library - this one is probably much slower, and will break api compliance, so fair warning!

Philosophically, this library competes with purescript-queue in the following ways:

  • Queues pass messages to handlers, while Signals maintain a single state acknowledged by handlers
  • Both Queues and Signals can have multiple handlers
  • Signal handlers are informed of a state change, while Queues are informed of message subissions
  • Signals can be manipulated by time or rate debouncing easily - signals are meant to be composed into new onces, while Queues aren't merged or composed