| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
JL.Types
Description
Synopsis
- data ParseException
- data Type
- data Expression
- = VariableExpression Variable
- | LambdaExpression Variable Expression
- | ApplicationExpression Expression Expression
- | InfixExpression Expression Variable Expression
- | IfExpression Expression Expression Expression
- | SubscriptExpression Subscripted [Subscript]
- | RecordExpression (HashMap Text Expression)
- | ArrayExpression (Vector Expression)
- | ConstantExpression Constant
- data Subscripted
- data Subscript
- data Core
- = VariableCore Variable
- | LambdaCore Variable Core
- | ApplicationCore Core Core
- | IfCore Core Core Core
- | EvalCore (Core -> Core)
- | RecordCore (HashMap Text Core)
- | ArrayCore (Vector Core)
- | ConstantCore Constant
- data Compare
- coreToCompare :: Core -> Compare
- data Constant
- newtype TypeVariable = TypeVariable Int
- newtype Variable = Variable Text
- data Token
- = If
- | Then
- | Else
- | Case
- | Of
- | Backslash
- | RightArrow
- | Dollar
- | OpenParen
- | CloseParen
- | OpenBracket
- | CloseBracket
- | VariableToken !Text
- | StringToken !Text
- | Operator !Text
- | Period
- | Comma
- | Integer !Integer
- | Decimal !Double
- | OpenBrace
- | CloseBrace
- | Colon
- | NonIndentedNewline
- | Bar
- | TrueToken
- | FalseToken
- | NullToken
- data Location = Location {
- locationStartLine :: !Int
- locationStartColumn :: !Int
- locationEndLine :: !Int
- locationEndColumn :: !Int
- data Definition = Definition {}
Documentation
data ParseException Source #
Constructors
| TokenizerError !ParseError | |
| ParserError !ParseError |
Instances
| Show ParseException Source # | |
Defined in JL.Types Methods showsPrec :: Int -> ParseException -> ShowS # show :: ParseException -> String # showList :: [ParseException] -> ShowS # | |
| Exception ParseException Source # | |
Defined in JL.Types Methods toException :: ParseException -> SomeException # | |
A type.
Constructors
| VariableType !TypeVariable | |
| FunctionType !Type !Type | |
| JSONType |
data Expression Source #
A parsed expression.
Constructors
Instances
| Eq Expression Source # | |
Defined in JL.Types | |
| Show Expression Source # | |
Defined in JL.Types Methods showsPrec :: Int -> Expression -> ShowS # show :: Expression -> String # showList :: [Expression] -> ShowS # | |
data Subscripted Source #
Constructors
| WildcardSubscripted | |
| ExpressionSubscripted Expression |
Instances
| Eq Subscripted Source # | |
Defined in JL.Types | |
| Show Subscripted Source # | |
Defined in JL.Types Methods showsPrec :: Int -> Subscripted -> ShowS # show :: Subscripted -> String # showList :: [Subscripted] -> ShowS # | |
Constructors
| PropertySubscript Text | |
| ExpressionSubscript Expression |
Desugared core AST.
Constructors
| VariableCore Variable | |
| LambdaCore Variable Core | |
| ApplicationCore Core Core | |
| IfCore Core Core Core | |
| EvalCore (Core -> Core) | |
| RecordCore (HashMap Text Core) | |
| ArrayCore (Vector Core) | |
| ConstantCore Constant |
Constructors
| ConstantCompare Constant | |
| VectorCompare (Vector Compare) | |
| RecordCompare [(Text, Compare)] |
coreToCompare :: Core -> Compare Source #
A self-evaluating constant.
Constructors
| StringConstant Text | |
| NumberConstant Scientific | |
| BoolConstant Bool | |
| NullConstant |
newtype TypeVariable Source #
A type variable, generated by the type system.
Constructors
| TypeVariable Int |
Instances
| Eq TypeVariable Source # | |
Defined in JL.Types | |
| Ord TypeVariable Source # | |
Defined in JL.Types Methods compare :: TypeVariable -> TypeVariable -> Ordering # (<) :: TypeVariable -> TypeVariable -> Bool # (<=) :: TypeVariable -> TypeVariable -> Bool # (>) :: TypeVariable -> TypeVariable -> Bool # (>=) :: TypeVariable -> TypeVariable -> Bool # max :: TypeVariable -> TypeVariable -> TypeVariable # min :: TypeVariable -> TypeVariable -> TypeVariable # | |
| Show TypeVariable Source # | |
Defined in JL.Types Methods showsPrec :: Int -> TypeVariable -> ShowS # show :: TypeVariable -> String # showList :: [TypeVariable] -> ShowS # | |
A value variable, inputted by the programmer.
Constructors
Constructors
| Location | |
Fields
| |
data Definition Source #
Constructors
| Definition | |
Fields
| |