unison-codebase-0.0.0
Safe HaskellSafe-Inferred
LanguageGHC2021

U.Codebase.Branch.Type

Synopsis

Documentation

data Branch m Source #

A re-imagining of Unison.Codebase.Branch which is less eager in what it loads, which can often speed up load times and keep fewer things in memory.

Instances

Instances details
Generic (Branch m) Source # 
Instance details

Defined in U.Codebase.Branch.Type

Associated Types

type Rep (Branch m) :: Type -> Type #

Methods

from :: Branch m -> Rep (Branch m) x #

to :: Rep (Branch m) x -> Branch m #

Show (Branch m) Source # 
Instance details

Defined in U.Codebase.Branch.Type

Methods

showsPrec :: Int -> Branch m -> ShowS #

show :: Branch m -> String #

showList :: [Branch m] -> ShowS #

type Rep (Branch m) Source # 
Instance details

Defined in U.Codebase.Branch.Type

type Rep (Branch m) = D1 ('MetaData "Branch" "U.Codebase.Branch.Type" "unison-codebase-0.0.0-AFzt1HmKDX512erVMwvK3i" 'False) (C1 ('MetaCons "Branch" 'PrefixI 'True) ((S1 ('MetaSel ('Just "terms") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map NameSegment (Map Referent (m MdValues)))) :*: S1 ('MetaSel ('Just "types") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map NameSegment (Map Reference (m MdValues))))) :*: (S1 ('MetaSel ('Just "patches") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map NameSegment (PatchHash, m Patch))) :*: S1 ('MetaSel ('Just "children") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map NameSegment (CausalBranch m))))))

data Patch Source #

Constructors

Patch 

newtype MdValues Source #

Constructors

MdValues 

Instances

Instances details
Show MdValues Source # 
Instance details

Defined in U.Codebase.Branch.Type

Eq MdValues Source # 
Instance details

Defined in U.Codebase.Branch.Type

Ord MdValues Source # 
Instance details

Defined in U.Codebase.Branch.Type

data NamespaceStats Source #

Useful statistics about a namespace. All contained statistics should be static, i.e. they can be computed when a branch is first saved, and won't change unless the branch hash also changes.

hasDefinitions :: NamespaceStats -> Bool Source #

Whether the provided stats indicate the presence of any definitions in the namespace.

hoist :: Functor n => (forall x. m x -> n x) -> Branch m -> Branch n Source #

hoistCausalBranch :: Functor n => (forall x. m x -> n x) -> CausalBranch m -> CausalBranch n Source #