Safe Haskell | None |
---|---|
Language | Haskell98 |
Language.Haskell.Liquid.Parse
Contents
Synopsis
- hsSpecificationP :: ModuleName -> [BPspec] -> (ModName, BareSpecParsed)
- parseSpecComments :: [(SourcePos, String)] -> Either [Error] [BPspec]
- singleSpecP :: SourcePos -> String -> Either (ParseErrorBundle String Void) BPspec
- data BPspec
- = Meas (MeasureV LocSymbol LocBareTypeParsed (Located LHName))
- | Assm (Located LHName, LocBareTypeParsed)
- | AssmReflect (Located LHName, Located LHName)
- | Asrt (Located LHName, LocBareTypeParsed)
- | Asrts ([Located LHName], (LocBareTypeParsed, Maybe [Located (ExprV LocSymbol)]))
- | DDecl DataDeclParsed
- | NTDecl DataDeclParsed
- | Relational (Located LHName, Located LHName, LocBareTypeParsed, LocBareTypeParsed, RelExprV LocSymbol, RelExprV LocSymbol)
- | AssmRel (Located LHName, Located LHName, LocBareTypeParsed, LocBareTypeParsed, RelExprV LocSymbol, RelExprV LocSymbol)
- | Class (RClass LocBareTypeParsed)
- | RInst (RInstance LocBareTypeParsed)
- | Invt LocBareTypeParsed
- | Using (LocBareTypeParsed, LocBareTypeParsed)
- | Alias (Located (RTAlias Symbol BareTypeParsed))
- | EAlias (Located (RTAlias Symbol (ExprV LocSymbol)))
- | Embed (Located LHName, FTycon, TCArgs)
- | Qualif (QualifierV LocSymbol)
- | LVars (Located LHName)
- | Lazy (Located LHName)
- | Fail (Located LHName)
- | Rewrite (Located LHName)
- | Rewritewith (Located LHName, [Located LHName])
- | Insts (Located LHName)
- | HMeas (Located LHName)
- | Reflect (Located LHName)
- | PrivateReflect LocSymbol
- | OpaqueReflect (Located LHName)
- | Inline (Located LHName)
- | Ignore (Located LHName)
- | ASize (Located LHName)
- | PBound (Bound LocBareTypeParsed (ExprV LocSymbol))
- | Pragma (Located String)
- | CMeas (MeasureV LocSymbol LocBareTypeParsed ())
- | IMeas (MeasureV LocSymbol LocBareTypeParsed (Located LHName))
- | Varia (Located LHName, [Variance])
- | DSize ([LocBareTypeParsed], LocSymbol)
- | BFix ()
- | Define (Located LHName, ([Symbol], ExprV LocSymbol))
- parseTest' :: Show a => Parser a -> String -> IO ()
Documentation
hsSpecificationP :: ModuleName -> [BPspec] -> (ModName, BareSpecParsed) Source #
parseSpecComments :: [(SourcePos, String)] -> Either [Error] [BPspec] Source #
Parse comments in .hs and .lhs files
singleSpecP :: SourcePos -> String -> Either (ParseErrorBundle String Void) BPspec Source #
The AST for a single parsed spec.
Constructors
Meas (MeasureV LocSymbol LocBareTypeParsed (Located LHName)) |
|
Assm (Located LHName, LocBareTypeParsed) |
|
AssmReflect (Located LHName, Located LHName) | 'assume reflects' signature (unchecked) |
Asrt (Located LHName, LocBareTypeParsed) |
|
Asrts ([Located LHName], (LocBareTypeParsed, Maybe [Located (ExprV LocSymbol)])) | sym0, ..., symn :: ty / [m0,..., mn] |
DDecl DataDeclParsed | refined 'data' declaration |
NTDecl DataDeclParsed | refined 'newtype' declaration |
Relational (Located LHName, Located LHName, LocBareTypeParsed, LocBareTypeParsed, RelExprV LocSymbol, RelExprV LocSymbol) | relational signature |
AssmRel (Located LHName, Located LHName, LocBareTypeParsed, LocBareTypeParsed, RelExprV LocSymbol, RelExprV LocSymbol) |
|
Class (RClass LocBareTypeParsed) | refined 'class' definition |
RInst (RInstance LocBareTypeParsed) | refined 'instance' definition |
Invt LocBareTypeParsed |
|
Using (LocBareTypeParsed, LocBareTypeParsed) |
|
Alias (Located (RTAlias Symbol BareTypeParsed)) | 'type' alias declaration |
EAlias (Located (RTAlias Symbol (ExprV LocSymbol))) |
|
Embed (Located LHName, FTycon, TCArgs) |
|
Qualif (QualifierV LocSymbol) |
|
LVars (Located LHName) |
|
Lazy (Located LHName) |
|
Fail (Located LHName) |
|
Rewrite (Located LHName) |
|
Rewritewith (Located LHName, [Located LHName]) |
|
Insts (Located LHName) | 'auto-inst' or |
HMeas (Located LHName) |
|
Reflect (Located LHName) |
|
PrivateReflect LocSymbol | 'private-reflect' annotation |
OpaqueReflect (Located LHName) | 'opaque-reflect' annotation |
Inline (Located LHName) |
|
Ignore (Located LHName) |
|
ASize (Located LHName) |
|
PBound (Bound LocBareTypeParsed (ExprV LocSymbol)) |
|
Pragma (Located String) |
|
CMeas (MeasureV LocSymbol LocBareTypeParsed ()) | 'class measure' definition |
IMeas (MeasureV LocSymbol LocBareTypeParsed (Located LHName)) | 'instance measure' definition |
Varia (Located LHName, [Variance]) |
|
DSize ([LocBareTypeParsed], LocSymbol) | 'data size' annotations, generating fancy termination metric |
BFix () | fixity annotation |
Define (Located LHName, ([Symbol], ExprV LocSymbol)) |
|
Instances
Data BPspec Source # | |
Defined in Language.Haskell.Liquid.Parse Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BPspec -> c BPspec # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BPspec # toConstr :: BPspec -> Constr # dataTypeOf :: BPspec -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BPspec) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BPspec) # gmapT :: (forall b. Data b => b -> b) -> BPspec -> BPspec # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BPspec -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BPspec -> r # gmapQ :: (forall d. Data d => d -> u) -> BPspec -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> BPspec -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> BPspec -> m BPspec # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BPspec -> m BPspec # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BPspec -> m BPspec # | |
PPrint BPspec Source # | |
Defined in Language.Haskell.Liquid.Parse |