Abstract Port Graphs is a framework for building Domain Specific Languages (DSLs), where programs are represented as graphs. This project was created in pursuit of the ARC AGI challenge (more details on that at
https://arcprize.org). By building a DSL on top of it for ARC puzzles, I was able to create compact solutions to the puzzles, which can be generated automatically via program synthesis techniques. The goal here was to explore program synthesis and symbolic AI approaches. The rationale for using graphs was the ability to detect isomorphisms between equivalent programs, leading to reusable components. The page includes additional links to the GitHub repo and a brief paper on the project. Would love feedback on the work, and to connect with anyone interested in ARC!