kirancodes.me
To Proof Maintenance & Beyond!

294 papers · page 6 of 15

Improving Haskell types with SMT

Iavor S. Diatchki

We present a technique for integrating GHC's type-checker with an SMT solver. The technique was developed to add support for reasoning about type-level functions on natural numbers, and so our implementation uses the theory of linear arithmetic. However, the approach is not limit…

Variations on variants

J. Garrett Morris

Extensible variants improve the modularity and expressiveness of programming languages: they allow program functionality to be decomposed into independent blocks, and allow seamless extension of existing code with both new cases of existing data types and new operations over thos…