{"title":"A Relational Solver for Constraint-based Type Inference","authors":"Eridan Domoratskiy, Dmitry Boulytchev","doi":"arxiv-2408.17138","DOIUrl":null,"url":null,"abstract":"We present a miniKanren-based type inferencer for an educational programming\nlanguage with first-class functions, S-expressions, and pattern-matching. The\nlanguage itself is untyped which adds a certain specificity to the problem and\nrequires the employment of techniques conventionally used in implicit/gradual\ntyping settings. The presence of polymorphic and recursive types poses a\ncertain challenge when implementing the inferencer in miniKanren and requires a\nnumber of tricks, optimizations, and extensions to be used; we report on those\nas well.","PeriodicalId":501197,"journal":{"name":"arXiv - CS - Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2024-08-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Programming Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2408.17138","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
We present a miniKanren-based type inferencer for an educational programming
language with first-class functions, S-expressions, and pattern-matching. The
language itself is untyped which adds a certain specificity to the problem and
requires the employment of techniques conventionally used in implicit/gradual
typing settings. The presence of polymorphic and recursive types poses a
certain challenge when implementing the inferencer in miniKanren and requires a
number of tricks, optimizations, and extensions to be used; we report on those
as well.