A compiler for PCF (Programming Language for Computable Functions) ported from F# to Scala.
PCF is functional and Turing Complete!
-
Be aware that this is a project to show the power of functional programming so avoiding imperative style is priority.
-
TDD is required to commit.
Exp ::= x | n
| true
| false
| succ
| pred
| iszero
| if Exps then Exps else Exps
| fun x -> Exps
| rec x -> Exps
| (Exps)
| let x = Exps in Exps
Exps ::= Exps Exp | Exp