YoVDO

Unleashing Algebraic Metaprogramming in Julia with Metatheory.jl

Offered By: The Julia Programming Language via YouTube

Tags

Julia Courses Category Theory Courses E-Graphs Courses

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

Julia Scientific Programming
University of Cape Town via Coursera
Julia for Beginners in Data Science
Coursera Project Network via Coursera
Linear Regression and Multiple Linear Regression in Julia
Coursera Project Network via Coursera
Decision Tree and Random Forest Classification using Julia
Coursera Project Network via Coursera
Logistic Regression for Classification using Julia
Coursera Project Network via Coursera