antisplice-0.16.0.1: An engine for text-based dungeons.

Safe HaskellSafe-Inferred

Game.Antisplice.Utils.Hetero

Synopsis

Documentation

data Cons a b Source

The Cons type for a heterogenous list

Constructors

:-: a b 

Instances

PostMask Pass a (Cons a Nil) 
CallMask CatchObj (Cons (Titled ObjectState) Nil) 
CallMask Remaining (Cons [String] Nil) 
CallMask CatchOrd (Cons Int Nil) 
CallMask CatchToken (Cons Token Nil) 
CallMask CatchByType (Cons String Nil) 
Tuplify a ar => Tuplify (Cons a Nil) ar 
(CallMask x r, CallMask xs rs, Append r rs rx) => CallMask (Cons x xs) rx 
Append b c bc => Append (Cons a b) c (Cons a bc) 
PostMask (a -> b) a (Cons b Nil) 
PostMask (a -> b) (Titled a) (Cons b Nil) 
(Tuplify a ar, Tuplify b br) => Tuplify (Cons a (Cons b Nil)) (ar, br) 
IntoMaybe (Cons a as) (Cons (Maybe (Cons a as)) Nil) 
(PredMask r i, PredMask rs is) => PredMask (Cons r rs) (Cons i is) 
(PostMask m i r, PostMask ms is rs, Append r rs rx) => PostMask (Cons m ms) (Cons i is) rx 
(CombiMask m i p po, CombiMask ms is ps pos) => CombiMask (Cons m ms) (Cons i is) (Cons p ps) (Cons po pos) 
(Tuplify a ar, Tuplify b br, Tuplify c cr) => Tuplify (Cons a (Cons b (Cons c Nil))) (ar, br, cr) 
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr) => Tuplify (Cons a (Cons b (Cons c (Cons d Nil)))) (ar, br, cr, dr) 
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr, Tuplify e er) => Tuplify (Cons a (Cons b (Cons c (Cons d (Cons e Nil))))) (ar, br, cr, dr, er) 
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr, Tuplify e er, Tuplify f fr) => Tuplify (Cons a (Cons b (Cons c (Cons d (Cons e (Cons f Nil)))))) (ar, br, cr, dr, er, fr) 

data Nil Source

The empty list

Constructors

Nil 

Instances

Tuplify Nil () 
IntoMaybe Nil Nil 
PredMask Nil Nil 
CallMask String Nil 
CallMask Nil Nil 
CallMask Token Nil 
CallMask Ignore Nil 
CallMask EnsureLineEnd Nil 
Append Nil b b 
PostMask Nil Nil Nil 
PostMask Ignore a Nil 
CombiMask Nil Nil Nil Nil 
PostMask Pass a (Cons a Nil) 
CallMask CatchObj (Cons (Titled ObjectState) Nil) 
CallMask Remaining (Cons [String] Nil) 
CallMask CatchOrd (Cons Int Nil) 
CallMask CatchToken (Cons Token Nil) 
CallMask CatchByType (Cons String Nil) 
Tuplify a ar => Tuplify (Cons a Nil) ar 
PostMask (a -> b) a (Cons b Nil) 
PostMask (a -> b) (Titled a) (Cons b Nil) 
(Tuplify a ar, Tuplify b br) => Tuplify (Cons a (Cons b Nil)) (ar, br) 
IntoMaybe (Cons a as) (Cons (Maybe (Cons a as)) Nil) 
(Tuplify a ar, Tuplify b br, Tuplify c cr) => Tuplify (Cons a (Cons b (Cons c Nil))) (ar, br, cr) 
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr) => Tuplify (Cons a (Cons b (Cons c (Cons d Nil)))) (ar, br, cr, dr) 
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr, Tuplify e er) => Tuplify (Cons a (Cons b (Cons c (Cons d (Cons e Nil))))) (ar, br, cr, dr, er) 
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr, Tuplify e er, Tuplify f fr) => Tuplify (Cons a (Cons b (Cons c (Cons d (Cons e (Cons f Nil)))))) (ar, br, cr, dr, er, fr) 

class Append a b ab | a b -> ab whereSource

Typeclass for appending one heterogenous list to another one

Methods

tappend :: a -> b -> abSource

Instances

Append Nil b b 
Append b c bc => Append (Cons a b) c (Cons a bc) 

class IntoMaybe a ar whereSource

Typeclass for wrapping a heterogenous list into a Maybe on demand

Methods

tjust :: a -> arSource

tnothing :: a -> arSource

Instances

class Tuplify l t | l -> t whereSource

Typeclass for everything that may be converted to a tuple

Methods

tuplify :: l -> tSource

Instances

Tuplify Char Char 
Tuplify Int Int 
Tuplify Nil () 
Tuplify Token Token 
Tuplify Direction Direction 
Tuplify PlayerId PlayerId 
Tuplify ObjectState ObjectState 
Tuplify KindId KindId 
Tuplify ObjectId ObjectId 
Tuplify Feature Feature 
Tuplify Relation Relation 
Tuplify Attitude Attitude 
Tuplify Faction Faction 
Tuplify RoomState RoomState 
Tuplify EquipKey EquipKey 
Tuplify StatKey StatKey 
Tuplify a ar => Tuplify (Titled a) ar 
Tuplify a ar => Tuplify [a] [ar] 
Tuplify a ar => Tuplify (Maybe a) (Maybe ar) 
Tuplify a ar => Tuplify (Cons a Nil) ar 
(Tuplify a ar, Tuplify b br) => Tuplify (Cons a (Cons b Nil)) (ar, br) 
(Tuplify a ar, Tuplify b br, Tuplify c cr) => Tuplify (Cons a (Cons b (Cons c Nil))) (ar, br, cr) 
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr) => Tuplify (Cons a (Cons b (Cons c (Cons d Nil)))) (ar, br, cr, dr) 
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr, Tuplify e er) => Tuplify (Cons a (Cons b (Cons c (Cons d (Cons e Nil))))) (ar, br, cr, dr, er) 
(Tuplify a ar, Tuplify b br, Tuplify c cr, Tuplify d dr, Tuplify e er, Tuplify f fr) => Tuplify (Cons a (Cons b (Cons c (Cons d (Cons e (Cons f Nil)))))) (ar, br, cr, dr, er, fr) 

data Titled a Source

Constructors

Titled String a