Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Unleashing Algebraic Metaprogramming in Julia with Metatheory.jl

The Julia Programming Language via YouTube

Overview

Explore algebraic metaprogramming in Julia through this 25-minute JuliaCon2021 talk. Dive into the Metatheory.jl package, which combines pattern matching, term rewriting, and Julia's metaprogramming capabilities. Learn about E-Graphs, equality saturation, and their applications in compiler transforms, numerical optimization, and computer algebra systems. Compare classical rewriting with E-Graph rewriting, and see practical examples using Symbolics.jl and SymbolicUtils.jl. Discover how these techniques can be applied to category theory and outperform traditional algorithms like Knuth-Bendix. Gain insights into future directions and potential applications of algebraic metaprogramming in Julia.

Syllabus

Welcome!.
Introduction.
What can we do with Metatheory.jl?.
Equations are good.
Classical rewriting.
E-Graph.
The path to the E-Graph.
Why Julia?.
A sketch of an E-Graph in Julia.
Equality saturation.
What is so cool about e-graphs?.
Classical rewriting vs E-Graph rewriting.
Symbolics.jl.
Fibonacci with SymbolicUtils.jl vs Metatheory.jl.
Category Theory.
Going faster than Knuth-Bendix.
Other Experiments.
Future directions.

Taught by

The Julia Programming Language

Reviews

Start your review of Unleashing Algebraic Metaprogramming in Julia with Metatheory.jl

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.