| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Unison.Codebase.BranchUtil
Synopsis
- fromNames :: forall (m :: Type -> Type). Monad m => Names -> Branch m
- getBranch :: forall (m :: Type -> Type). Split Path -> Branch0 m -> Maybe (Branch m)
- getTerm :: forall (m :: Type -> Type). HashQualified (Split Path) -> Branch0 m -> Set Referent
- getType :: forall (m :: Type -> Type). HashQualified (Split Path) -> Branch0 m -> Set TypeReference
- makeSetBranch :: forall path (m :: Type -> Type). Split path -> Branch m -> (path, Branch0 m -> Branch0 m)
- makeAddTypeName :: forall p (m :: Type -> Type). Split p -> TypeReference -> (p, Branch0 m -> Branch0 m)
- makeDeleteTypeName :: forall p (m :: Type -> Type). Split p -> TypeReference -> (p, Branch0 m -> Branch0 m)
- makeAnnihilateTypeName :: forall path (m :: Type -> Type). Split path -> (path, Branch0 m -> Branch0 m)
- makeAddTermName :: forall p (m :: Type -> Type). Split p -> Referent -> (p, Branch0 m -> Branch0 m)
- makeDeleteTermName :: forall p (m :: Type -> Type). Split p -> Referent -> (p, Branch0 m -> Branch0 m)
- makeAnnihilateTermName :: forall path (m :: Type -> Type). Split path -> (path, Branch0 m -> Branch0 m)
Branch creation
fromNames :: forall (m :: Type -> Type). Monad m => Names -> Branch m Source #
Creates a branch containing all of the given names, with a single history node.
Branch queries
getTerm :: forall (m :: Type -> Type). HashQualified (Split Path) -> Branch0 m -> Set Referent Source #
getType :: forall (m :: Type -> Type). HashQualified (Split Path) -> Branch0 m -> Set TypeReference Source #
Branch modifications
makeSetBranch :: forall path (m :: Type -> Type). Split path -> Branch m -> (path, Branch0 m -> Branch0 m) Source #
makeAddTypeName :: forall p (m :: Type -> Type). Split p -> TypeReference -> (p, Branch0 m -> Branch0 m) Source #
makeDeleteTypeName :: forall p (m :: Type -> Type). Split p -> TypeReference -> (p, Branch0 m -> Branch0 m) Source #
makeAnnihilateTypeName :: forall path (m :: Type -> Type). Split path -> (path, Branch0 m -> Branch0 m) Source #
makeAddTermName :: forall p (m :: Type -> Type). Split p -> Referent -> (p, Branch0 m -> Branch0 m) Source #