on 0ff8a91 help sign in
elk/src/Docs/AST.hs
44 lines 848 B history raw
1module Docs.AST where
3import qualified Data.Map as Map
5import qualified Elm.Compiler.Type as Type
6import qualified Reporting.Annotation as A
9-- FULL DOCUMENTATION
11data Docs t = Docs
12 { comment :: String
13 , aliases :: Map.Map String (A.Located Alias)
14 , types :: Map.Map String (A.Located Union)
15 , values :: Map.Map String (A.Located (Value t))
16 }
19type Centralized = Docs (Maybe Type.Type)
21type Checked = Docs Type.Type
24-- VALUE DOCUMENTATION
26data Alias = Alias
27 { aliasComment :: Maybe String
28 , aliasArgs :: [String]
29 , aliasType :: Type.Type
30 }
33data Union = Union
34 { unionComment :: Maybe String
35 , unionArgs :: [String]
36 , unionCases :: [(String, [Type.Type])]
37 }
40data Value t = Value
41 { valueComment :: Maybe String
42 , valueType :: t
43 , valueAssocPrec :: Maybe (String,Int)
44 }