diff options
Diffstat (limited to 'AST.hs')
-rw-r--r-- | AST.hs | 48 |
1 files changed, 24 insertions, 24 deletions
@@ -11,42 +11,42 @@ newtype Name = Name String deriving (Show, Eq) data Type - = TApp Type [Type] - | TTup [Type] - | TList Type - | TFun Type Type - | TCon Name - | TVar Name + = TApp Type [Type] + | TTup [Type] + | TList Type + | TFun Type Type + | TCon Name + | TVar Name deriving (Show) data FunEq t = FunEq Name [Pattern t] (RHS t) deriving (Show) data Pattern t - = PWildcard t - | PVar t Name - | PAs t Name (Pattern t) - | PCon t Name [Pattern t] - | PList t [Pattern t] - | PTup t [Pattern t] + = PWildcard t + | PVar t Name + | PAs t Name (Pattern t) + | PCon t Name [Pattern t] + | PList t [Pattern t] + | PTup t [Pattern t] deriving (Show) data RHS t - = Guarded [(Expr t, Expr t)] - | Plain (Expr t) + = Guarded [(Expr t, Expr t)] + | Plain (Expr t) deriving (Show) data Expr t - = ELit t Literal - | EVar t Name - | ECon t Name - | EList t [Expr t] - | ETup t [Expr t] - | EApp t (Expr t) [Expr t] - | EOp t (Expr t) Operator (Expr t) - | EIf t (Expr t) (Expr t) (Expr t) - | ECase t (Expr t) [(Pattern t, RHS t)] - | ELet t [FunDef t] (Expr t) + = ELit t Literal + | EVar t Name + | ECon t Name + | EList t [Expr t] + | ETup t [Expr t] + | EApp t (Expr t) [Expr t] + | EOp t (Expr t) Operator (Expr t) + | EIf t (Expr t) (Expr t) (Expr t) + | ECase t (Expr t) [(Pattern t, RHS t)] + | ELet t [FunDef t] (Expr t) deriving (Show) data Literal = LInt Integer | LFloat Rational | LChar Char | LString String |