Basic structure of Lexer using Writer monad

Signed-off-by: Shahbaz Youssefi <ShabbyX@gmail.com>