Implementing an interpreter of a typed language in a typed language is widely considered as a non-trivial task, which requires generalized algebraic data types (GADT) or even dependent types to be used. This amounts to a certain performance overhead, which is desirable to avoid without loosing the type safety of the target program, provided by the type system of the host language. In the talk the alternative approach will be presented. The approach allows to implement interpreters, compiler and partial evaluator for STLC in such languages as OCaml or Haskell with no use of GADT, dependent or even regular algebraic data types.
Jacques Carette, Oleg Kiselyov, Chung-chieh Shan. Finally tagless, partially evaluated // http://okmij.org/ftp/tagless-final/JFP.pdf
Presenter: Ekaterina Verbitskaya
Date: October 31, 2016
Venue: room 3248, Faculty of Mathematics and Mechanics, Saint Petersburg State University, Stary Peterhof, Universitetski pr., 28