Blog#
EGRAPHS Community Call Talk by Saul Shanabrook on 20 March
Egglog as a tool for building an optimizing composable type safe DSLs in Python
Original Congruence Closure Paper by Saul Shanabrook on 02 December
In this post, I re-create the examples from the original 1980 paper defining the “congruence closure” of a graph in Python.
PyTensor Chat by Saul Shanabrook on 17 November
Ricardo Vieira reached out asking to see if we could chat about egglog and to explore if it could be used inside of PyTensor for rewriting.
Indexing pushdown by Saul Shanabrook on 12 November
I got this question today, and I thought I would write up some examples to explain the current state of things, for this sort of indexing pushdown:
egglog by Saul Shanabrook on 09 November
Saul Shanabrook
PyData NYC ‘23 by Saul Shanabrook on 04 November
E-graphs in Python with
egglog
Optimizing Scikit-Learn with Array API and Numba by Saul Shanabrook on 26 October
In this tutorial, we will walk through increasing the performance of your scikit-learn code using
egglog
andnumba
.egglog in Python by Saul Shanabrook on 23 August
EGraphs in Python by Saul Shanabrook on 20 July
Define function vs define action. by Saul Shanabrook on 29 November
There is both a top level
define
method as well as adefine
action type. What is the difference between them? The method does accept a cost, otherwise they both accept a string and an expression. Let’s look at the implementations.How does egglog handle boolean values? by Saul Shanabrook on 20 November
Some functions, like
<<
return an optional int. Others, like<
return an optional unit.