1{-# OPTIONS_GHC -Wall #-}
2{-# LANGUAGE OverloadedStrings #-}
3module AST.Expression.Source
7 , Pattern, Pattern_(..)
20import qualified Data.ByteString as B
21import Data.Text (Text)
23import qualified AST.Binop as Binop
24import qualified AST.Shader as Shader
25import qualified AST.Type as Type
26import qualified Elm.Name as N
27import qualified Reporting.Annotation as A
28import qualified Reporting.Region as R
35type Expr = A.Located Expr_
43 | Var (Maybe N.Name) N.Name
47 | Binops [(Expr, A.Located N.Name)] Expr
48 | Lambda [Pattern] Expr
50 | If [(Expr, Expr)] Expr
51 | Let [A.Located Def] Expr
52 | Case Expr [(Pattern, Expr)]
55 | Update (A.Located N.Name) [(A.Located N.Name, Expr)]
56 | Record [(A.Located N.Name, Expr)]
58 | Tuple Expr Expr [Expr]
59 | Shader Text Text Shader.Shader
67 = Annotate N.Name Type.Raw
68 | Define (A.Located N.Name) [Pattern] Expr
69 | Destruct Pattern Expr
76type Pattern = A.Located Pattern_
82 | PRecord [A.Located N.Name]
83 | PAlias Pattern (A.Located N.Name)
85 | PTuple Pattern Pattern [Pattern]
86 | PCtor R.Region (Maybe N.Name) N.Name [Pattern]
88 | PCons Pattern Pattern
98type Decl = A.Located Decl_
102 = Union (A.Located N.Name) [A.Located N.Name] [(A.Located N.Name, [Type.Raw])]
103 | Alias (A.Located N.Name) [A.Located N.Name] Type.Raw
104 | Binop (A.Located N.Name) Binop.Associativity Binop.Precedence N.Name
105 | Port (A.Located N.Name) Type.Raw
107 | Annotation (A.Located N.Name) Type.Raw
108 | Definition (A.Located N.Name) [Pattern] Expr
118 , _effects :: Effects
119 , _docs :: A.Located (Maybe B.ByteString)
120 , _exports :: Exposing
121 , _imports :: [Import]
128 { _import :: A.Located N.Name
129 , _alias :: Maybe N.Name
130 , _exposing :: Exposing
137 | Manager R.Region Manager
141 = Cmd (A.Located N.Name)
142 | Sub (A.Located N.Name)
143 | Fx (A.Located N.Name) (A.Located N.Name)
146defaultModule :: [Import] -> decls -> Module decls
147defaultModule imports decls =
148 let zero = R.Position 1 1 in
151 , _effects = NoEffects
152 , _docs = A.at zero zero Nothing
165 | Explicit ![A.Located Exposed]
170 | Upper !N.Name !Privacy
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list