| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.Lambda.SystemF.Expression
Documentation
data SystemFExpr name ty Source #
Constructors
| Var name | Variable: |
| App (SystemFExpr name ty) (SystemFExpr name ty) | Function application: `x y` |
| Abs name (Ty ty) (SystemFExpr name ty) | Lambda abstraction: `x: X. x` |
| TyAbs ty (SystemFExpr name ty) | Type Abstraction: `X. body` |
| TyApp (SystemFExpr name ty) (Ty ty) | Type Application: `x [X]` |
Instances
| (Eq name, Eq ty) => Eq (SystemFExpr name ty) Source # | |
Defined in Language.Lambda.SystemF.Expression Methods (==) :: SystemFExpr name ty -> SystemFExpr name ty -> Bool # (/=) :: SystemFExpr name ty -> SystemFExpr name ty -> Bool # | |
| (Show name, Show ty) => Show (SystemFExpr name ty) Source # | |
Defined in Language.Lambda.SystemF.Expression Methods showsPrec :: Int -> SystemFExpr name ty -> ShowS # show :: SystemFExpr name ty -> String # showList :: [SystemFExpr name ty] -> ShowS # | |
| (Pretty name, Pretty ty) => Pretty (SystemFExpr name ty) Source # | |
Defined in Language.Lambda.SystemF.Expression | |
Constructors
| TyVar name | Type variable (T) |
| TyArrow (Ty name) (Ty name) | Type arrow (T -> U) |
| TyForAll name (Ty name) | Universal type (forall T. X) |
prettyPrint :: Pretty pretty => pretty -> Text Source #
upperLambda :: Char Source #