Skip to content
View yihozhang's full-sized avatar
🧮
🧮

Highlights

  • Pro

Organizations

@uwplse @hkust-taco
Block or Report

Block or report yihozhang

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
yihozhang/README.md

Hi there 👋

I am a second-year PhD student studying Computer Science at UW Seattle, co-advised by Zachary Tatlock and Dan Suciu. I am broadly interested in the theories and applications of programming languages and data management.

Currently, I am working on a program optimization technique called Equality Saturation (EqSat):

  • Theory: I try to answer questions like "when does EqSat terminate?".
  • System: I am working on a new system called egglog that unifies Datalog and EqSat.
  • Technique: I am interested in techniques that make EqSat better. In our POPL 2022 paper we made pattern matching in EqSat asymptotically faster.
  • Application: I am always looking to apply EqSat to emerging domains, such as computational fabrication. I am maintaining a list of projects that use equality saturation.

Pinned

  1. egraphs-good/egg egraphs-good/egg Public

    egg is a flexible, high-performance e-graph library

    Rust 1.3k 121

  2. egraphs-good/egglog egraphs-good/egglog Public

    egraphs + datalog!

    Rust 359 42

  3. uwplse/szalinski uwplse/szalinski Public

    Szalinski: A Tool for Synthesizing Structured CAD Models with Equality Saturation and Inverse Transformations

    OpenSCAD 41 4

  4. mjschleich/GeCo.jl mjschleich/GeCo.jl Public

    GeCo: Quality Counterfactual Explanations in Real Time

    Julia 5 3

  5. souffle-lang/souffle souffle-lang/souffle Public

    Soufflé is a variant of Datalog for tool designers crafting analyses in Horn clauses. Soufflé synthesizes a native parallel C++ program from a logic specification.

    C++ 869 192

  6. egraph-sqlite egraph-sqlite Public

    egraph on top of sqlite

    Racket 10 2