Experimental Language is a language created just to test some concepts.
ExprC := number
| true
| false
| id
| string
| (if ExprC ExprC ExprC)
| (ExprC op ExprC)
| (fn (id ...) ExprC)
| (ExprC [ExprC ...])
| (where (id = ExprC, ...) ExprC)
op := + - * / and or == <
./exprc-language myprogram.exprc
ghc exprc-language.hs