Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
data SystemFExpr name Source #
Let name (SystemFExpr name) | A global binding: `let x = y` |
Var name | Variable: |
VarAnn name (Ty name) | Variable annotated with type: `x:T` |
App (SystemFExpr name) (SystemFExpr name) | Function application: `x y` |
Abs name (Ty name) (SystemFExpr name) | Lambda abstraction: `x: X. x` |
TyAbs name (SystemFExpr name) | Type Abstraction: `X. body` |
TyApp (SystemFExpr name) (Ty name) | Type Application: `x [X]` |
Instances
Show name => Show (SystemFExpr name) Source # | |
Defined in Language.Lambda.SystemF.Expression showsPrec :: Int -> SystemFExpr name -> ShowS # show :: SystemFExpr name -> String # showList :: [SystemFExpr name] -> ShowS # | |
Eq name => Eq (SystemFExpr name) Source # | |
Defined in Language.Lambda.SystemF.Expression (==) :: SystemFExpr name -> SystemFExpr name -> Bool # (/=) :: SystemFExpr name -> SystemFExpr name -> Bool # | |
Pretty name => Pretty (SystemFExpr name) Source # | |
Defined in Language.Lambda.SystemF.Expression pretty :: SystemFExpr name -> Doc ann # prettyList :: [SystemFExpr name] -> Doc ann # |
TypedExpr | |
|
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 #