darcs-2.16.4: a distributed, interactive, smart revision control system
Safe HaskellNone
LanguageHaskell2010

Darcs.Patch.RepoType

Synopsis

Documentation

data RepoType Source #

This type is intended to be used as a phantom type via the DataKinds extension. It tracks different types of repositories, e.g. to indicate when a rebase is in progress.

Constructors

RepoType 

class IsRepoType (rt :: RepoType) where Source #

Methods

singletonRepoType :: SRepoType rt Source #

Reflect RepoType to the value level so that code can explicitly switch on it.

Instances

Instances details
IsRebaseType rebaseType => IsRepoType ('RepoType rebaseType) Source # 
Instance details

Defined in Darcs.Patch.RepoType

Methods

singletonRepoType :: SRepoType ('RepoType rebaseType) Source #

data SRepoType (repoType :: RepoType) where Source #

A reflection of RepoType at the value level so that code can explicitly switch on it.

Constructors

SRepoType :: SRebaseType rebaseType -> SRepoType ('RepoType rebaseType) 

data RebaseType Source #

This type is intended to be used as a phantom type via the DataKinds extension, normally as part of RepoType. Indicates whether or not a rebase is in progress.

Constructors

IsRebase 
NoRebase 

class IsRebaseType (rebaseType :: RebaseType) Source #

Minimal complete definition

singletonRebaseType

Instances

Instances details
IsRebaseType 'IsRebase Source # 
Instance details

Defined in Darcs.Patch.RepoType

IsRebaseType 'NoRebase Source # 
Instance details

Defined in Darcs.Patch.RepoType

type family RebaseTypeOf (rt :: RepoType) :: RebaseType Source #

Extract the RebaseType from a RepoType

Instances

Instances details
type RebaseTypeOf ('RepoType rebaseType) Source # 
Instance details

Defined in Darcs.Patch.RepoType

type RebaseTypeOf ('RepoType rebaseType) = rebaseType

data SRebaseType (rebaseType :: RebaseType) where Source #

A reflection of RebaseType at the value level so that code can explicitly switch on it.