1{-# OPTIONS_GHC -Wall #-}
2{-# LANGUAGE OverloadedStrings #-}
4 ( Expr, Expr_(..), VarType(..)
6 , Pattern, Pattern_(..)
26import Data.Name (Name)
27import qualified Data.Utf8 as Utf8
29import qualified AST.Utils.Binop as Binop
30import qualified AST.Utils.Shader as Shader
31import qualified Reporting.Annotation as A
38type Expr = A.Located Expr_
45 | Float (Utf8.Under256 Float)
47 | VarQual VarType Name Name
51 | Binops [(Expr, A.Located Name)] Expr
52 | Lambda [Pattern] Expr
54 | If [(Expr, Expr)] Expr
55 | Let [A.Located Def] Expr
56 | Case Expr [(Pattern, Expr)]
58 | Access Expr (A.Located Name)
59 | Update (A.Located Name) [(A.Located Name, Expr)]
60 | Record [(A.Located Name, Expr)]
62 | Tuple Expr Expr [Expr]
63 | Shader Shader.Source Shader.Types
66data VarType = LowVar | CapVar
74 = Define (A.Located Name) [Pattern] Expr (Maybe Type)
75 | Destruct Pattern Expr
82type Pattern = A.Located Pattern_
88 | PRecord [A.Located Name]
89 | PAlias Pattern (A.Located Name)
91 | PTuple Pattern Pattern [Pattern]
92 | PCtor A.Region Name [Pattern]
93 | PCtorQual A.Region Name Name [Pattern]
95 | PCons Pattern Pattern
112 | TType A.Region Name [Type]
113 | TTypeQual A.Region Name Name [Type]
114 | TRecord [(A.Located Name, Type)] (Maybe (A.Located Name))
116 | TTuple Type Type [Type]
125 { _name :: Maybe Name
126 , _exports :: A.Located Exposing
127 , _imports :: [Import]
128 , _values :: [A.Located Value]
129 , _unions :: [A.Located Union]
130 , _aliases :: [A.Located Alias]
131 , _binops :: [A.Located Binop]
132 , _effects :: Effects
136getName :: Module -> Name
137getName (Module maybeName _ _ _ _ _ _ _) =
140 Nothing -> defaultModuleName
143{-# NOINLINE defaultModuleName #-}
144defaultModuleName :: Name
149getImportName :: Import -> Name
150getImportName (Import (A.At _ name) _ _) =
156 { _import :: A.Located Name
157 , _alias :: Maybe Name
158 , _exposing :: Exposing
162data Value = Value (A.Located Name) [Pattern] Expr (Maybe Type)
163data Union = Union (A.Located Name) [A.Located Name] [(A.Located Name, [Type])]
164data Alias = Alias (A.Located Name) [A.Located Name] Type
165data Binop = Binop Name Binop.Associativity Binop.Precedence Name
166data Port = Port (A.Located Name) Type
172 | Manager A.Region Manager
176 = Cmd (A.Located Name)
177 | Sub (A.Located Name)
178 | Fx (A.Located Name) (A.Located Name)
187 | 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