IRTS.Simplified

idris-1.3.4: Functional Programming Language with Dependent Types

License | BSD3
Maintainer | The Idris Community.
Safe Haskell | None
Language | Haskell2010

IRTS.Simplified

Description

# Documentation

simplifyDefs :: DDefs -> [(Name, DDecl)] -> TC [(Name, SDecl)] #

data SDecl #

Constructors

SFun Name [Name] Int SExp |

#### Instances

Instances details

ToJSON SDecl # |
Instance details Defined in IRTS.Portable Methods toJSON :: SDecl -> Value # toEncoding :: SDecl -> Encoding # toJSONList :: [SDecl] -> Value # toEncodingList :: [SDecl] -> Encoding # omitField :: SDecl -> Bool #
Show SDecl # |
Instance details Defined in IRTS.Simplified Methods showsPrec :: Int -> SDecl -> ShowS # show :: SDecl -> String # showList :: [SDecl] -> ShowS #

data SExp #

Constructors

SV LVar |
SApp Bool Name [LVar] |
SLet LVar SExp SExp |
SUpdate LVar SExp |
SCon (Maybe LVar) Int Name [LVar] |
SCase CaseType LVar [SAlt] |
SChkCase LVar [SAlt] |
SProj LVar Int |
SConst Const |
SForeign FDesc FDesc [(FDesc, LVar)] |
SOp PrimFn [LVar] |
SNothing |
SError String |

#### Instances

Instances details

ToJSON SExp # |
Instance details Defined in IRTS.Portable Methods toJSON :: SExp -> Value # toEncoding :: SExp -> Encoding # toJSONList :: [SExp] -> Value # toEncodingList :: [SExp] -> Encoding # omitField :: SExp -> Bool #
Show SExp # |
Instance details Defined in IRTS.Simplified Methods showsPrec :: Int -> SExp -> ShowS # show :: SExp -> String # showList :: [SExp] -> ShowS #

data SAlt #

Constructors

SConCase Int Int Name [Name] SExp |
SConstCase Const SExp |
SDefaultCase SExp |

#### Instances

Instances details

ToJSON SAlt # |
Instance details Defined in IRTS.Portable Methods toJSON :: SAlt -> Value # toEncoding :: SAlt -> Encoding # toJSONList :: [SAlt] -> Value # toEncodingList :: [SAlt] -> Encoding # omitField :: SAlt -> Bool #
Show SAlt # |
Instance details Defined in IRTS.Simplified Methods showsPrec :: Int -> SAlt -> ShowS # show :: SAlt -> String # showList :: [SAlt] -> ShowS #