Portability | portable |
---|---|
Stability | experimental |
Maintainer | amy@nualeargais.ie |
Safe Haskell | None |
Provides a habitat for artificial life.
- data Universe c l d n x a = Universe {}
- type SimpleUniverse a = Universe PersistentCounter SimpleRotatingLogger (FSDatabase a) SimpleAgentNamer () a
- mkSimpleUniverse :: String -> FilePath -> Int -> SimpleUniverse a
- agentDB :: forall c l d n x a d a. Lens (Universe c l d n x a) (Universe c l d n x a) d d
- clock :: forall c l d n x a c a. Lens (Universe c l d n x a) (Universe c l d n x a) c c
- logger :: forall c l d n x a l a. Lens (Universe c l d n x a) (Universe c l d n x a) l l
- multiLookup :: (Serialize a, Database d, Record a, a ~ DBRecord d) => [AgentId] -> StateT d IO (Either String [DBRecord d])
- extra :: forall c l d n x a x a. Lens (Universe c l d n x a) (Universe c l d n x a) x x
- agentIds :: Database d => StateT (Universe c l d n x a) IO [String]
- addAgent :: (Serialize a, Database d, Record a, a ~ DBRecord d) => DBRecord d -> StateT (Universe c l d n x a) IO ()
- storeOrArchive :: (Serialize a, Database d, Record a, Agent a, a ~ DBRecord d) => a -> StateT d IO ()
Documentation
data Universe c l d n x a Source
A habitat containing artificial life.
(Clock c, Logger l) => Logger (Universe c l d n x a) | |
Clock c => Clock (Universe c l d n x a) | |
AgentNamer n => AgentNamer (Universe c l d n x a) |
type SimpleUniverse a = Universe PersistentCounter SimpleRotatingLogger (FSDatabase a) SimpleAgentNamer () aSource
mkSimpleUniverse :: String -> FilePath -> Int -> SimpleUniverse aSource
multiLookup :: (Serialize a, Database d, Record a, a ~ DBRecord d) => [AgentId] -> StateT d IO (Either String [DBRecord d])Source