Skip to content

Releases: ghostdogpr/purelogic

v0.2.1

07 Apr 01:01
7ad37a1

Choose a tag to compare

Release Notes

Added support for Event Sourcing via a composite capability that binds events and state together.
For more details, check out this blog post!

What's Changed

  • Relax simulate to require StateReader and add simulateWith overload by @teraha-dev in #8
  • Event sourcing support by @ghostdogpr in #18

v0.2.0

19 Mar 00:40
6bbbb6b

Choose a tag to compare

Release Notes

In this release, State[S] has been split into StateReader[+S] (read-only) and StateWriter[-S] (write-only) sub-traits, allowing functions to declare the minimum access they need (see #3).

v0.1.0

15 Mar 02:03

Choose a tag to compare

Release Notes

This is the first ever release of PureLogic, a direct-style, pure domain logic library for Scala 3.

Highlights

  • 4 capabilities: Reader, Writer, State, and Abort — composable via Scala 3's given/using mechanism
  • No monads: plain Scala control flow (val, if, for, while) instead of for-comprehensions and flatMap
  • Fast: 7-40x faster and 10-50x less memory than monadic alternatives
  • Zero dependencies: only the Scala standard library
  • Multi-platform: Scala JVM, Scala.js, and Scala Native

Check the documentation!