Revision history for Monad

0.2.1  2026-04-29T23:52:52+01:00
    - Bump Github actions to use node 24+

0.2.0  2026-04-12T16:41:12+01:00
    - Parameterize Monad::Maybe[::T], Monad::Either[::L, ::R],
      Monad::List[::T], Monad::Writer[::A, ::W]. Adds compile-time type
      checking on the contained value; legacy unparameterized usage is
      unchanged (all parameters default to Any).
    - Implemented as parametric roles rather than classes — Raku doesn't
      support parametric classes. `~~` and `isa-ok` against the bare
      role name continue to work.
    - Monad::Reader and Monad::State stay as plain classes; their
      underlying `run` callable is type-erased (it's a closure), so type
      parameters would only be documentation. Use plain Monad::State and
      document your state/value types in comments.
    - Add Monad::List to META6.json provides (was missing in 0.1.2).
    - Comprehensive parametric-usage test suite (t/07_parametric.t).

0.1.2  2024-11-XX
    - Initial release with Monad, Monad::Maybe, Monad::Either,
      Monad::List, Monad::Reader, Monad::State, Monad::Writer.
