%%% The Mini-ML Language
%%% Author: Frank Pfenning, based on [Michaylov & Pfenning 92]

LF exp  : type = %name exp E.
  | z     : exp
  | s     : exp -> exp
  | match : exp -> exp -> (exp -> exp) -> exp
  | pair  : exp -> exp -> exp
  | fst   : exp -> exp
  | snd   : exp -> exp
  | lam   : (exp -> exp) -> exp
  | app   : exp -> exp -> exp
  | letv  : exp -> (exp -> exp) -> exp
  | letn  : exp -> (exp -> exp) -> exp
  | fix   : (exp -> exp) -> exp
;
