Skip to content

v2.0.0-alpha1

Pre-release
Pre-release

Choose a tag to compare

@veyga veyga released this 06 Sep 21:41
· 1 commit to main since this release
ec5060e

v2.0.0-alpha1

Architecture (breaking change from v1)

  • Separated data types from typeclass instances — data types extend DataType, not typeclasses
  • summon(Monad, Option) — typeclass instance resolution via registry
  • DotNotation mixin — Some(10).map(f) delegates to summon internally
  • for_type= auto-registration — class _OptionMonad(Monad, for_type=Option)
  • BaseTypeclass — root of all typeclasses with AutoRegister
  • TypeConstructor — auto _type_constructor detection
  • tc_of(value) — Haskell-style automatic type constructor resolution

New typeclasses

  • Bifunctor, Alternative, MonadError, Foldable, Traversable

New features

  • Optics (lenses): at('key') >> at('nested')
  • frozendict.to_dict() + JSON round-trip
  • frozendict deep-freeze by default
  • Writer.for_monoid() factory
  • Auto-generated typeclass hierarchy SVG
  • Browser playground (PyScript/Pyodide)
  • 11 guides, 18 demo scripts, 57 benchmarks