refactor Evaluator
add Primitive.hs
add evaluatePat
use Primitive.hs
refactor types