Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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 #
UnisonFileId | |
|
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.
TypecheckedUnisonFileId | |
|
Instances
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 #