3 papers
cs.PL2026
Towards Bottom-Up Enumeration in miniKanren via Pruning and Memoization
Nikolai Kudasov
We present two small library combinators on top of plain miniKanren, designed to bring bottom-up enumeration with observational deduplication, the standard tool in non-relational p…
cs.PL2024
typedKanren: Statically Typed Relational Programming with Exhaustive Matching in Haskell
Nikolai Kudasov, Artem Starikov
We present a statically typed embedding of relational programming (specifically a dialect of miniKanren with disequality constraints) in Haskell. Apart from handling types, our dia…
cs.PL2024
Teaching Type Systems Implementation with Stella, an Extensible Statically Typed Programming Language
Abdelrahman Abounegm, Nikolai Kudasov, Alexey Stepanov
We report on a half-semester course focused around implementation of type systems in programming languages. The course assumes basics of classical compiler construction, in particu…