| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Unison.UnisonFile.Type
Synopsis
- data UnisonFile v a = UnisonFileId {
- dataDeclarationsId :: Map v (TypeReferenceId, DataDeclaration v a)
- effectDeclarationsId :: Map v (TypeReferenceId, EffectDeclaration v a)
- terms :: Map v (a, Term v a)
- watches :: Map WatchKind [(v, a, Term v a)]
- pattern UnisonFile :: Map v (TypeReference, DataDeclaration v a) -> Map v (TypeReference, EffectDeclaration v a) -> Map v (a, Term v a) -> Map WatchKind [(v, a, Term v a)] -> UnisonFile v a
- data TypecheckedUnisonFile v a = TypecheckedUnisonFileId {
- dataDeclarationsId' :: Map v (TypeReferenceId, DataDeclaration v a)
- effectDeclarationsId' :: Map v (TypeReferenceId, EffectDeclaration v a)
- topLevelComponents' :: [[(v, a, Term v a, Type v a)]]
- watchComponents :: [(WatchKind, [(v, a, Term v a, Type v a)])]
- hashTermsId :: Map v (a, TermReferenceId, Maybe WatchKind, Term v a, Type v a)
- pattern TypecheckedUnisonFile :: Map v (TypeReference, DataDeclaration v a) -> Map v (TypeReference, EffectDeclaration v a) -> [[(v, a, Term v a, Type v a)]] -> [(WatchKind, [(v, a, Term v a, Type v a)])] -> Map v (a, TermReference, Maybe WatchKind, Term (F v a a) v a, Term F v a) -> TypecheckedUnisonFile v a
Documentation
data UnisonFile v a Source #
Constructors
| UnisonFileId | |
Fields
| |
Instances
pattern UnisonFile :: Map v (TypeReference, DataDeclaration v a) -> Map v (TypeReference, EffectDeclaration v a) -> Map v (a, Term v a) -> Map WatchKind [(v, a, Term v a)] -> UnisonFile v a Source #
data TypecheckedUnisonFile v a Source #
A UnisonFile after typechecking. Terms are split into groups by cycle and the type of each term is known.
Constructors
| TypecheckedUnisonFileId | |
Fields
| |
Instances
| Ord v => Functor (TypecheckedUnisonFile v) Source # | |||||
Defined in Unison.UnisonFile.Type Methods fmap :: (a -> b) -> TypecheckedUnisonFile v a -> TypecheckedUnisonFile v b # (<$) :: a -> TypecheckedUnisonFile v b -> TypecheckedUnisonFile v a # | |||||
| Generic (TypecheckedUnisonFile v a) Source # | |||||
Defined in Unison.UnisonFile.Type Associated Types
Methods from :: TypecheckedUnisonFile v a -> Rep (TypecheckedUnisonFile v a) x # to :: Rep (TypecheckedUnisonFile v a) x -> TypecheckedUnisonFile v a # | |||||
| (Show a, Show v) => Show (TypecheckedUnisonFile v a) Source # | |||||
Defined in Unison.UnisonFile.Type Methods showsPrec :: Int -> TypecheckedUnisonFile v a -> ShowS # show :: TypecheckedUnisonFile v a -> String # showList :: [TypecheckedUnisonFile v a] -> ShowS # | |||||
| type Rep (TypecheckedUnisonFile v a) Source # | |||||
Defined in Unison.UnisonFile.Type type Rep (TypecheckedUnisonFile v a) = D1 ('MetaData "TypecheckedUnisonFile" "Unison.UnisonFile.Type" "unison-parser-typechecker-0.0.0-9Dzq7Hdutm9Hkedg7C7TJ1" 'False) (C1 ('MetaCons "TypecheckedUnisonFileId" 'PrefixI 'True) ((S1 ('MetaSel ('Just "dataDeclarationsId'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map v (TypeReferenceId, DataDeclaration v a))) :*: S1 ('MetaSel ('Just "effectDeclarationsId'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map v (TypeReferenceId, EffectDeclaration v a)))) :*: (S1 ('MetaSel ('Just "topLevelComponents'") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [[(v, a, Term v a, Type v a)]]) :*: (S1 ('MetaSel ('Just "watchComponents") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(WatchKind, [(v, a, Term v a, Type v a)])]) :*: S1 ('MetaSel ('Just "hashTermsId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map v (a, TermReferenceId, Maybe WatchKind, Term v a, Type v a))))))) | |||||
pattern TypecheckedUnisonFile :: Map v (TypeReference, DataDeclaration v a) -> Map v (TypeReference, EffectDeclaration v a) -> [[(v, a, Term v a, Type v a)]] -> [(WatchKind, [(v, a, Term v a, Type v a)])] -> Map v (a, TermReference, Maybe WatchKind, Term (F v a a) v a, Term F v a) -> TypecheckedUnisonFile v a Source #