1{-# OPTIONS_GHC -Wall #-}
3 ( Expr, Expr_(..), VarType(..)
5 , Pattern, Pattern_(..)
27import Data.Name (Name)
28import qualified Data.Name as Name
30import qualified AST.Utils.Binop as Binop
31import qualified AST.Utils.Shader as Shader
32import qualified Elm.Float as EF
33import qualified Elm.String as ES
34import qualified Parse.Primitives as P
35import qualified Reporting.Annotation as A
42type Expr = A.Located Expr_
51 | VarQual VarType Name Name
55 | Binops [(Expr, A.Located Name)] Expr
56 | Lambda [Pattern] Expr
58 | If [(Expr, Expr)] Expr
59 | Let [A.Located Def] Expr
60 | Case Expr [(Pattern, Expr)]
62 | Access Expr (A.Located Name)
63 | Update (A.Located Name) [(A.Located Name, Expr)]
64 | Record [(A.Located Name, Expr)]
66 | Tuple Expr Expr [Expr]
67 | Shader Shader.Source Shader.Types
70data VarType = LowVar | CapVar
78 = Define (A.Located Name) [Pattern] Expr (Maybe Type)
79 | Destruct Pattern Expr
86type Pattern = A.Located Pattern_
92 | PRecord [A.Located Name]
93 | PAlias Pattern (A.Located Name)
95 | PTuple Pattern Pattern [Pattern]
96 | PCtor A.Region Name [Pattern]
97 | PCtorQual A.Region Name Name [Pattern]
99 | PCons Pattern Pattern
116 | TType A.Region Name [Type]
117 | TTypeQual A.Region Name Name [Type]
118 | TRecord [(A.Located Name, Type)] (Maybe (A.Located Name))
120 | TTuple Type Type [Type]
129 { _name :: Maybe (A.Located Name)
130 , _exports :: A.Located Exposing
132 , _imports :: [Import]
133 , _values :: [A.Located Value]
134 , _unions :: [A.Located Union]
135 , _aliases :: [A.Located Alias]
136 , _binops :: [A.Located Infix]
137 , _effects :: Effects
141getName :: Module -> Name
142getName (Module maybeName _ _ _ _ _ _ _ _) =
144 Just (A.At _ name) ->
151getImportName :: Import -> Name
152getImportName (Import (A.At _ name) _ _) =
158 { _import :: A.Located Name
159 , _alias :: Maybe Name
160 , _exposing :: Exposing
164data Value = Value (A.Located Name) [Pattern] Expr (Maybe Type)
165data Union = Union (A.Located Name) [A.Located Name] [(A.Located Name, [Type])]
166data Alias = Alias (A.Located Name) [A.Located Name] Type
167data Infix = Infix Name Binop.Associativity Binop.Precedence Name
168data Port = Port (A.Located Name) Type
174 | Manager A.Region Manager
178 = Cmd (A.Located Name)
179 | Sub (A.Located Name)
180 | Fx (A.Located Name) (A.Located Name)
185 | YesDocs Comment [(Name, Comment)]
198 | Explicit [A.Located Exposed]
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