raft-0.3.7.0: Miscellaneous Haskell utilities for data structures and data manipulation.

Safe HaskellSafe
LanguageHaskell2010

Data.Relational

Contents

Description

Deprecated: This module will be replaced in a future release.

Tuples and relations.

Synopsis

Classes

class Tuple t where Source #

Class for tuples.

Minimal complete definition

makeTuple, attributes

Associated Types

type Attribute t :: * Source #

Type for attributes.

Methods

makeTuple :: [Attribute t] -> t Source #

Make a tuple.

attributes :: t -> [Attribute t] Source #

Retrieve attributes.

Instances

Tuple (Record a) Source # 

Associated Types

type Attribute (Record a) :: * Source #

class Tuple t => Relation n t r | r -> t, r -> n where Source #

Class for relations.

Minimal complete definition

names, empty, makeRelation, tuples, attributeMaybe

Methods

names :: r -> [n] Source #

Names for tuples.

empty :: [n] -> r Source #

An empty relation.

makeRelation :: [n] -> [t] -> r Source #

Make a relation.

tuples :: r -> [t] Source #

Retrieve tuples.

attributeMaybe :: r -> n -> t -> Maybe (Attribute t) Source #

Lookup an attribute.

attribute :: r -> n -> t -> Attribute t Source #

Lookup an attribute.

Instances

Tuple r => Relation String r (Table r) Source # 

Methods

names :: Table r -> [String] Source #

empty :: [String] -> Table r Source #

makeRelation :: [String] -> [r] -> Table r Source #

tuples :: Table r -> [r] Source #

attributeMaybe :: Table r -> String -> r -> Maybe (Attribute r) Source #

attribute :: Table r -> String -> r -> Attribute r Source #

Orphan instances

(Relation n t r, Stringy n) => WithHeader r t Source # 

Methods

fromHeaderLists :: ([String], [t]) -> r Source #

toHeaderLists :: r -> ([String], [t]) Source #

((~) * (Attribute t) a, Tuple t) => Listable t a Source # 

Methods

fromList :: [a] -> t Source #

toList :: t -> [a] Source #