Witchcraft brings algebraic and category-theoretic abstractions—like semigroups, monoids, functors, applicatives, and monads—to Elixir in a pragmatic, protocol-driven way. It introduces a set of typeclass-style protocols and laws so data types can declare the operations they support and have those behaviors verified. The library encourages composability and pure transformations, letting you build pipelines where effects are modeled explicitly rather than hidden in ad-hoc helpers. Because the implementation leans on Elixir protocols, you can extend Witchcraft’s abstractions to your own structs without invasive inheritance hierarchies. It promotes predictable, law-abiding behavior through property-based testing helpers and a focus on algebraic reasoning. Teams reach for Witchcraft when they want to structure business logic with reusable, mathematically grounded patterns that remain idiomatic to the BEAM.

Features

  • Provides type abstractions such as monoids, functors, monads, arrows, categories
  • Embraces functional programming concepts inspired by Haskell
  • Seamlessly integrates into Elixir codebases for more expressive FP patterns
  • Includes accompanying libraries like Quark and TypeClass for enriched functionality
  • Lightweight library—simple to adopt and drop in
  • Supports algebraic constructs, enabling currying and composition idioms in Elixir

Project Samples

Project Activity

See All Activity >

Categories

Mathematics

License

MIT License

Follow Witchcraft

Witchcraft Web Site

Other Useful Business Software
$300 in Free Credit Towards Top Cloud Services Icon
$300 in Free Credit Towards Top Cloud Services

Build VMs, containers, AI, databases, storage—all in one place.

Start your project in minutes. After credits run out, 20+ products include free monthly usage. Only pay when you're ready to scale.
Get Started
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Witchcraft!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Elixir

Related Categories

Elixir Mathematics Software

Registered

2025-09-01