Create README.md
Differentiate double and natural using Parsec's try.

HSpec tests to test literals are added.
Add more parse tests.
Implement symbol table for CPP.

Unit tests for symbol table are also added.
Implement type checker.
Fix  a typo in a pase test: False -> false.
Add a space before =.
Add a space before =.
Merge OtherError and TypeError because both represent a generic type error.
Add printTree to print an AST tree and make it the only exposed function of CPP.Print module.
Get rid of symbolTableTest.

The API of SymbolTable is not stable. Add these tests later.
Rename SymbolTable to TypeEnv.

Functions and data structures of SymbolTable are type-checker specific.
Rename TypeError to TypeM.

Rename TypeError to a more generic name so that other monad transformers (e..g, state monad for type environment) can be added later.
Rename TypeErrorType to TypeError.

TypeErrorType is a little awkward name.
Change TypeM to use ErrorT monad transformer.

This is a preparation to add more monad transformers later.
Implement interpreter.
Add more interpreter tests.
Add fib test to test recursive functions.
Use camel case for data constructors.
Remove redundant $.