A Relational Solver for Constraint-based Type Inference
<|reference_start|>A Relational Solver for Constraint-based Type Inference: 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.<|reference_end|>
@article{domoratskiy2024a,
    title={A Relational Solver for Constraint-based Type Inference},
    author={Eridan Domoratskiy, Dmitry Boulytchev},
    journal={arXiv preprint arXiv:2408.17138},
    year={2024},
    archivePrefix={arXiv},
    eprint={2408.17138},
    primaryClass={cs.PL}
}