Hughes, Jack, Orchard, Dominic A. (2024) Program Synthesis from Graded Types. In: Programming Languages and Systems. 33rd European Symposium on Programming, ESOP 2024. Lecture Notes in Computer Science Springer ISBN 978-3-031-57261-6. (doi:10.1007/978-3-031-57262-3_4) (KAR id:113874)
|
PDF
Publisher pdf
Language: English
This work is licensed under a Creative Commons Attribution 4.0 International License.
|
|
|
Download this file (PDF/1MB) |
Preview |
| Request a format suitable for use with assistive technology e.g. a screenreader | |
| Official URL: https://doi.org/10.1007/978-3-031-57262-3_4 |
|
Abstract
Graded type systems are a class of type system for fine-grained quantitative reasoning about data-flow in programs. Through the use of resource annotations (or grades), a programmer can express various program properties at the type level, reducing the number of typeable programs. These additional constraints on types lend themselves naturally to type-directed program synthesis, where this information can be exploited to constrain the search space of programs. We present a synthesis algorithm for a graded type system, where grades form an arbitrary pre-ordered semiring. Harnessing this grade information in synthesis is non-trivial, and we explore some of the issues involved in designing and implementing a resource-aware program synthesis tool. In our evaluation we show that by harnessing grades in synthesis, the majority of our benchmark programs (many of which involve recursive functions over recursive ADTs) require less exploration of the synthesis search space than a purely type-driven approach and with fewer needed input-output examples. This type-and-graded-directed approach is demonstrated for the research language Granule but we also adapt it for synthesising Haskell programs that use GHC’s linear types extension.
| Item Type: | Conference proceeding |
|---|---|
| DOI/Identification number: | 10.1007/978-3-031-57262-3_4 |
| Subjects: |
Q Science Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, > QA76.76 Computer software |
| Institutional Unit: | Schools > School of Computing |
| Former Institutional Unit: |
There are no former institutional units.
|
| Funders: | Engineering and Physical Sciences Research Council (https://ror.org/0439y7842) |
| Depositing User: | Dominic Orchard |
| Date Deposited: | 14 Apr 2026 16:49 UTC |
| Last Modified: | 16 Apr 2026 08:16 UTC |
| Resource URI: | https://kar.kent.ac.uk/id/eprint/113874 (The current URI for this page, for reference purposes) |
- Link to SensusAccess
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):

https://orcid.org/0000-0002-7058-7842
Altmetric
Altmetric