inplement beta-reduction with C++
Leftmost strategy and de-bruijn index are used.
To compute a beta normal form, lazy evaluation is not used.
$ gmake
The syntax is similar to OCaml.
Just show some input examples below.
$ (\f f y x) (\x \y x)
$ (\f \x f (f x)) (\x x)
「型システム入門」 Benjamin C. Pierce