Unleashing Algebraic Metaprogramming in Julia with Metatheory.jl
Offered By: The Julia Programming Language via YouTube
Course Description
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
Related Courses
COSC250 - Functional and Reactive ProgrammingIndependent Free as in Monads - Understanding and Applying Free Monads - Lecture 44
ChariotSolutions via YouTube Generalised Integrated Information Theories
Models of Consciousness Conferences via YouTube Reasoning About Conscious Experience With Axiomatic and Graphical Mathematics
Models of Consciousness Conferences via YouTube Towards a Category-Theoretic Framework for Phenomenal Holism
Models of Consciousness Conferences via YouTube