thautwarm/MLStyle.jl

Created Feb 16, 2021 · View the thautwarm/MLStyle.jl repository page

Julia functional programming infrastructures and metaprogramming facilities

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

18

Lines of Code

1,502

From

Aug 12, 2018

To

Aug 15, 2020

About thautwarm/MLStyle.jl

MLStyle.jl is a Julia package that provides functional programming infrastructure and metaprogramming facilities with a focus on pattern matching and algebraic data types. It enables developers to write expressive, type-safe code by supporting destructuring patterns across arrays, tuples, custom data types, and Julia's built-in enumerations.

The package's core features include the @data macro for defining algebraic data types and sophisticated pattern matching capabilities that compile to efficient code. The implementation is statically generated, meaning patterns are processed at compile time rather than runtime, resulting in performance comparable to or better than hand-written conditional logic. The library is designed to be extensible, allowing users to define custom pattern matching behavior for their own types.

The project is oriented toward Julia developers seeking ML-style functional programming paradigms and includes comprehensive benchmarks demonstrating its performance across various data structures and matching scenarios. The documentation is extensive, and the package maintains active community engagement through multiple communication channels.

Share this video