| License | GPL-2 |
|---|---|
| Maintainer | yi-devel@googlegroups.com |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
| Extensions |
|
Yi.Syntax.Haskell
Description
NOTES: Note if the layout of the first line (not comments) is wrong the parser will only parse what is in the blocks given by Layout.hs
- type PModule = Exp
- type PModuleDecl = Exp
- type PImport = Exp
- data Exp t
- = PModule { }
- | ProgMod {
- modDecl :: PModuleDecl t
- body :: PModule t
- | Body {
- imports :: Exp t
- content :: Block t
- extraContent :: Block t
- | PModuleDecl {
- moduleKeyword :: PAtom t
- name :: PAtom t
- exports :: Exp t
- whereKeyword :: Exp t
- | PImport {
- importKeyword :: PAtom t
- qual :: Exp t
- name' :: PAtom t
- as :: Exp t
- specification :: Exp t
- | TS t [Exp t]
- | PType { }
- | PData { }
- | PData' { }
- | PClass { }
- | Paren (PAtom t) [Exp t] (PAtom t)
- | Block [Exp t]
- | PAtom t [t]
- | Expr [Exp t]
- | PWhere (PAtom t) (Exp t) (Exp t)
- | Bin (Exp t) (Exp t)
- | PError {
- errorTok :: t
- marker :: t
- commentList :: [t]
- | RHS (PAtom t) (Exp t)
- | Opt (Maybe (Exp t))
- | Modid t [t]
- | Context (Exp t) (Exp t) (PAtom t)
- | PGuard [PGuard t]
- | PGuard' (PAtom t) (Exp t) (PAtom t)
- | TC (Exp t)
- | DC (Exp t)
- | PLet (PAtom t) (Exp t) (Exp t)
- | PIn t [Exp t]
- type Tree = PModule
- parse :: P TT (Tree TT)
- indentScanner :: Scanner (AlexState lexState) TT -> Scanner (State Token lexState) TT
Documentation
type PModuleDecl = Exp Source
Exp can be expression or declaration
Constructors
| PModule | |
| ProgMod | |
Fields
| |
| Body | |
Fields
| |
| PModuleDecl | |
Fields
| |
| PImport | |
Fields
| |
| TS t [Exp t] | Type signature |
| PType | Type declaration |
| PData | Data declaration |
| PData' | |
| PClass | |
| Paren (PAtom t) [Exp t] (PAtom t) | A parenthesized, bracked or braced |
| Block [Exp t] | A block of things separated by layout |
| PAtom t [t] | An atom is a token followed by many comments |
| Expr [Exp t] | |
| PWhere (PAtom t) (Exp t) (Exp t) | Where clause |
| Bin (Exp t) (Exp t) | |
| PError | |
Fields
| |
| RHS (PAtom t) (Exp t) | Righthandside of functions with = |
| Opt (Maybe (Exp t)) | An optional |
| Modid t [t] | Module identifier |
| Context (Exp t) (Exp t) (PAtom t) | |
| PGuard [PGuard t] | Righthandside of functions with | the PAtom in PGuard' does not contain any comments |
| PGuard' (PAtom t) (Exp t) (PAtom t) | |
| TC (Exp t) | Type constructor data constructor same as with the TC constructor |
| DC (Exp t) | Data constructor |
| PLet (PAtom t) (Exp t) (Exp t) | let expression |
| PIn t [Exp t] | |