GraphHammer-0.3: GraphHammer Haskell graph analyses framework inspired by STINGER.

Safe HaskellSafe-Inferred

GraphHammer.Info

Description

Defines a classes to store and read info for GraphHammer edges and vertices information.

Also defines instances of those classes for unit (). It is meant as a safe way to say no useful information. Its use as an info should not incur any cost.

Synopsis

Documentation

class Info a whereSource

A class to store information.

Associated Types

type EncodingType a Source

A type we encode our values to.

Methods

encodeInfo :: a -> EncodingType aSource

A method to encode value.

decodeInfo :: EncodingType a -> aSource

Decoding process.

Instances

Info () 

class (Num i, Ix i, Info a) => InfoArray i a whereSource

A class that defines array interface for GraphHammer information.

Associated Types

type EncodedInfoArray i a Source

A type for arrays with specified index.

Methods

newEncodedInfoArray :: Monad m => a -> i -> m (EncodedInfoArray i a)Source

Create an array. First parameter is a length of array.

readEncodedInfo :: Monad m => EncodedInfoArray i a -> i -> m aSource

Get a value from array.

storeEncodedInfo :: Monad m => EncodedInfoArray i a -> i -> a -> m ()Source

Store an encoded value.

Instances