This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* collapsing multiple levels of interpreters */ | |
object TestMeta3 { | |
abstract class Exp | |
case class Lit(n:Int) extends Exp | |
case class Sym(s:String) extends Exp | |
case class Var(n:Int) extends Exp | |
case class App(e1:Exp, e2:Exp) extends Exp | |
case class Lam(e:Exp) extends Exp |