// http://www.cis.upenn.edu/~bcpierce/tapl/checkers/untyped/ # ![allow(dead_code)] # ![allow(unused_variables)] # ![allow(unused_imports)] use std::fmt::Debug; use std::fmt::Formatter; use std::fmt::Error; # [derive(Clone,PartialEq)] pub enum Term { // Single Varialbe Var(isize, // de Bruijn Index. usize), // length of Context where this variable appealed. // Abstraction Abst(String, // lambda var