drasil-database-0.1.1.0: A framework for code and document generation for scientific software - Database SubPackage
Safe HaskellSafe-Inferred
LanguageHaskell2010

Drasil.Database.Chunk

Synopsis

Documentation

data Chunk Source #

A piece of reusable knowledge, with an internal identifier (UID), possibly dependant on other chunks.

Instances

Instances details
HasChunkRefs Chunk Source # 
Instance details

Defined in Drasil.Database.Chunk

Methods

chunkRefs :: Chunk -> Set UID Source #

HasUID Chunk Source # 
Instance details

Defined in Drasil.Database.Chunk

Methods

uid :: Getter Chunk UID Source #

Eq Chunk Source # 
Instance details

Defined in Drasil.Database.Chunk

Methods

(==) :: Chunk -> Chunk -> Bool #

(/=) :: Chunk -> Chunk -> Bool #

type IsChunk a = (HasUID a, HasChunkRefs a, Typeable a) Source #

Constraint for anything that may be considered a valid chunk type.

class HasChunkRefs a where Source #

The majority of chunks will relate other chunks in some way. In other words, the majority of our chunks *depend* on others. HasChunkRefs is meant as a way to capture what things a chunk *directly* refers to (i.e., depends on directly).

Methods

chunkRefs :: a -> Set UID Source #

Instances

Instances details
HasChunkRefs Chunk Source # 
Instance details

Defined in Drasil.Database.Chunk

Methods

chunkRefs :: Chunk -> Set UID Source #

HasChunkRefs UID Source # 
Instance details

Defined in Drasil.Database.Chunk

Methods

chunkRefs :: UID -> Set UID Source #

HasChunkRefs UnitypedUIDRef Source # 
Instance details

Defined in Drasil.Database.UIDRef

HasChunkRefs String Source # 
Instance details

Defined in Drasil.Database.Chunk

HasChunkRefs Integer Source # 
Instance details

Defined in Drasil.Database.Chunk

HasChunkRefs Bool Source # 
Instance details

Defined in Drasil.Database.Chunk

Methods

chunkRefs :: Bool -> Set UID Source #

HasChunkRefs Char Source # 
Instance details

Defined in Drasil.Database.Chunk

Methods

chunkRefs :: Char -> Set UID Source #

HasChunkRefs Double Source # 
Instance details

Defined in Drasil.Database.Chunk

HasChunkRefs Int Source # 
Instance details

Defined in Drasil.Database.Chunk

Methods

chunkRefs :: Int -> Set UID Source #

(Generic a, GHasCRefs (Rep a)) => HasChunkRefs (Generically a) Source # 
Instance details

Defined in Drasil.Database.Chunk

HasChunkRefs (UIDRef t) Source # 
Instance details

Defined in Drasil.Database.UIDRef

Methods

chunkRefs :: UIDRef t -> Set UID Source #

HasChunkRefs a => HasChunkRefs (Maybe a) Source # 
Instance details

Defined in Drasil.Database.Chunk

Methods

chunkRefs :: Maybe a -> Set UID Source #

HasChunkRefs a => HasChunkRefs [a] Source # 
Instance details

Defined in Drasil.Database.Chunk

Methods

chunkRefs :: [a] -> Set UID Source #

(HasChunkRefs l, HasChunkRefs r) => HasChunkRefs (Either l r) Source # 
Instance details

Defined in Drasil.Database.Chunk

Methods

chunkRefs :: Either l r -> Set UID Source #

mkChunk :: IsChunk a => a -> Chunk Source #

Create a Chunk, ensuring that Chunks are never placed within Chunks.

unChunk :: Typeable a => Chunk -> Maybe a Source #

Open chunks, casting them to a specific type.

chunkType :: Chunk -> TypeRep Source #

Ask a Chunk for the type of data it codifies.