| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Drasil.Database.ChunkDB
Synopsis
- data ChunkDB
- empty :: ChunkDB
- fromList :: IsChunk a => [a] -> ChunkDB
- registered :: ChunkDB -> [UID]
- typesRegistered :: ChunkDB -> [TypeRep]
- size :: ChunkDB -> Int
- isRegistered :: UID -> ChunkDB -> Bool
- findUnused :: ChunkDB -> [UID]
- find :: Typeable a => UID -> ChunkDB -> Maybe a
- findOrErr :: forall a. Typeable a => UID -> ChunkDB -> a
- findAll :: forall a. IsChunk a => ChunkDB -> [a]
- findAll' :: TypeRep -> ChunkDB -> [UID]
- dependants :: UID -> ChunkDB -> Maybe [UID]
- dependantsOrErr :: UID -> ChunkDB -> [UID]
- findTypeOf :: UID -> ChunkDB -> Maybe TypeRep
- insert :: IsChunk a => a -> ChunkDB -> ChunkDB
- insertAll :: IsChunk a => [a] -> ChunkDB -> ChunkDB
- insertAllOutOfOrder11 :: (IsChunk a, IsChunk b, IsChunk c, IsChunk d, IsChunk e, IsChunk f, IsChunk g, IsChunk h, IsChunk i, IsChunk j, IsChunk k) => ChunkDB -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h] -> [i] -> [j] -> [k] -> ChunkDB
Core database types and functions.
fromList :: IsChunk a => [a] -> ChunkDB Source #
Create a ChunkDB from a list of chunks. This will insert all chunks into
the database from the list, from left to right.
findUnused :: ChunkDB -> [UID] Source #
Filter the ChunkDB for chunks that are not needed by any other chunks.
These are the only chunks that can safely be removed from the database,
though we do not include this functionality.
findAll :: forall a. IsChunk a => ChunkDB -> [a] Source #
Find all chunks of a specific type in the ChunkDB.
dependantsOrErr :: UID -> ChunkDB -> [UID] Source #
Find all chunks that depend on a specific one, throwing a hard error if the dependency chunk is not found.