Refactoring
Actualmente tenemos los siguientes módulos que nos determinan de alguna manera la definición de los módulos equivalentes para el parser y los chequeos estáticos.
- Expr.hs
- Located.hs
- Program.hs
- Statement.hs
- Type.hs
Una primera idea es agregar un módulo Decl que encapsule todas las declaraciones ya sean de tipos como de funciones y procedimientos. Además habría que agregar un módulo para las instancias.
Otra tarea extra puede ser agregar el uso de phantom types como se menciona en el issue #13.