# Constraint-Based Type-Directed Program Synthesis

**Authors:** Peter-Michael Osera

arXiv: 1907.03105 · 2019-07-09

## TL;DR

This paper introduces a constraint-based approach to type-directed program synthesis, enhancing the synthesis of polymorphic code and handling advanced features like GADTs, demonstrated through a Haskell tool called Scythe.

## Contribution

It presents a novel constraint-based method for type inference in program synthesis, specifically addressing polymorphism and GADTs, with an implementation in a live Haskell programming environment.

## Key findings

- Improved synthesis efficiency for polymorphic code
- Effective handling of GADTs in type inference
- Initial positive experience with the Scythe tool

## Abstract

We explore an approach to type-directed program synthesis rooted in constraint-based type inference techniques. By doing this, we aim to more efficiently synthesize polymorphic code while also tackling advanced typing features such as GADTs that build upon polymorphism. Along the way, we also present an implementation of these techniques in Scythe, a prototype live, type-directed programming tool for the Haskell programming language and reflect on our initial experience with the tool.

---
Source: https://tomesphere.com/paper/1907.03105