heterogeneous-list-literals-0.1.0.1: Allows the use of tuples as literals for Heterogeneous collections

Safe HaskellSafe
LanguageHaskell2010

Data.HeterogeneousListLiterals

Synopsis

Documentation

class HeterogeneousListLiteral (input :: Type) (output :: [Type]) | input -> output, output -> input where Source #

A type class which allows you to write tuples which can be transformed into a dynamic list. The type of the input tuple is stored as a type level list in output, check the ReadMe for examples

Minimal complete definition

toDynamicList

Methods

toDynamicList :: input -> [Dynamic] Source #

Instances

HeterogeneousListLiteral () ([] Type) Source # 

Methods

toDynamicList :: () -> [Dynamic] Source #

Typeable * a1 => HeterogeneousListLiteral (OneTuple a1) ((:) * a1 ([] *)) Source # 
(Typeable * a1, Typeable * a2) => HeterogeneousListLiteral (a1, a2) ((:) * a1 ((:) * a2 ([] *))) Source # 

Methods

toDynamicList :: (a1, a2) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3) => HeterogeneousListLiteral (a1, a2, a3) ((:) * a1 ((:) * a2 ((:) * a3 ([] *)))) Source # 

Methods

toDynamicList :: (a1, a2, a3) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4) => HeterogeneousListLiteral (a1, a2, a3, a4) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ([] *))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5) => HeterogeneousListLiteral (a1, a2, a3, a4, a5) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ([] *)))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5, Typeable * a6) => HeterogeneousListLiteral (a1, a2, a3, a4, a5, a6) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ((:) * a6 ([] *))))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5, a6) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5, Typeable * a6, Typeable * a7) => HeterogeneousListLiteral (a1, a2, a3, a4, a5, a6, a7) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ((:) * a6 ((:) * a7 ([] *)))))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5, a6, a7) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5, Typeable * a6, Typeable * a7, Typeable * a8) => HeterogeneousListLiteral (a1, a2, a3, a4, a5, a6, a7, a8) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ((:) * a6 ((:) * a7 ((:) * a8 ([] *))))))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5, a6, a7, a8) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5, Typeable * a6, Typeable * a7, Typeable * a8, Typeable * a9) => HeterogeneousListLiteral (a1, a2, a3, a4, a5, a6, a7, a8, a9) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ((:) * a6 ((:) * a7 ((:) * a8 ((:) * a9 ([] *)))))))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5, Typeable * a6, Typeable * a7, Typeable * a8, Typeable * a9, Typeable * a10) => HeterogeneousListLiteral (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ((:) * a6 ((:) * a7 ((:) * a8 ((:) * a9 ((:) * a10 ([] *))))))))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5, Typeable * a6, Typeable * a7, Typeable * a8, Typeable * a9, Typeable * a10, Typeable * a11) => HeterogeneousListLiteral (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ((:) * a6 ((:) * a7 ((:) * a8 ((:) * a9 ((:) * a10 ((:) * a11 ([] *)))))))))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5, Typeable * a6, Typeable * a7, Typeable * a8, Typeable * a9, Typeable * a10, Typeable * a11, Typeable * a12) => HeterogeneousListLiteral (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ((:) * a6 ((:) * a7 ((:) * a8 ((:) * a9 ((:) * a10 ((:) * a11 ((:) * a12 ([] *))))))))))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5, Typeable * a6, Typeable * a7, Typeable * a8, Typeable * a9, Typeable * a10, Typeable * a11, Typeable * a12, Typeable * a13) => HeterogeneousListLiteral (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ((:) * a6 ((:) * a7 ((:) * a8 ((:) * a9 ((:) * a10 ((:) * a11 ((:) * a12 ((:) * a13 ([] *)))))))))))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5, Typeable * a6, Typeable * a7, Typeable * a8, Typeable * a9, Typeable * a10, Typeable * a11, Typeable * a12, Typeable * a13, Typeable * a14) => HeterogeneousListLiteral (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ((:) * a6 ((:) * a7 ((:) * a8 ((:) * a9 ((:) * a10 ((:) * a11 ((:) * a12 ((:) * a13 ((:) * a14 ([] *))))))))))))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5, Typeable * a6, Typeable * a7, Typeable * a8, Typeable * a9, Typeable * a10, Typeable * a11, Typeable * a12, Typeable * a13, Typeable * a14, Typeable * a15) => HeterogeneousListLiteral (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ((:) * a6 ((:) * a7 ((:) * a8 ((:) * a9 ((:) * a10 ((:) * a11 ((:) * a12 ((:) * a13 ((:) * a14 ((:) * a15 ([] *)))))))))))))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5, Typeable * a6, Typeable * a7, Typeable * a8, Typeable * a9, Typeable * a10, Typeable * a11, Typeable * a12, Typeable * a13, Typeable * a14, Typeable * a15, Typeable * a16) => HeterogeneousListLiteral (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ((:) * a6 ((:) * a7 ((:) * a8 ((:) * a9 ((:) * a10 ((:) * a11 ((:) * a12 ((:) * a13 ((:) * a14 ((:) * a15 ((:) * a16 ([] *))))))))))))))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5, Typeable * a6, Typeable * a7, Typeable * a8, Typeable * a9, Typeable * a10, Typeable * a11, Typeable * a12, Typeable * a13, Typeable * a14, Typeable * a15, Typeable * a16, Typeable * a17) => HeterogeneousListLiteral (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ((:) * a6 ((:) * a7 ((:) * a8 ((:) * a9 ((:) * a10 ((:) * a11 ((:) * a12 ((:) * a13 ((:) * a14 ((:) * a15 ((:) * a16 ((:) * a17 ([] *)))))))))))))))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5, Typeable * a6, Typeable * a7, Typeable * a8, Typeable * a9, Typeable * a10, Typeable * a11, Typeable * a12, Typeable * a13, Typeable * a14, Typeable * a15, Typeable * a16, Typeable * a17, Typeable * a18) => HeterogeneousListLiteral (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ((:) * a6 ((:) * a7 ((:) * a8 ((:) * a9 ((:) * a10 ((:) * a11 ((:) * a12 ((:) * a13 ((:) * a14 ((:) * a15 ((:) * a16 ((:) * a17 ((:) * a18 ([] *))))))))))))))))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5, Typeable * a6, Typeable * a7, Typeable * a8, Typeable * a9, Typeable * a10, Typeable * a11, Typeable * a12, Typeable * a13, Typeable * a14, Typeable * a15, Typeable * a16, Typeable * a17, Typeable * a18, Typeable * a19) => HeterogeneousListLiteral (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ((:) * a6 ((:) * a7 ((:) * a8 ((:) * a9 ((:) * a10 ((:) * a11 ((:) * a12 ((:) * a13 ((:) * a14 ((:) * a15 ((:) * a16 ((:) * a17 ((:) * a18 ((:) * a19 ([] *)))))))))))))))))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) -> [Dynamic] Source #

(Typeable * a1, Typeable * a2, Typeable * a3, Typeable * a4, Typeable * a5, Typeable * a6, Typeable * a7, Typeable * a8, Typeable * a9, Typeable * a10, Typeable * a11, Typeable * a12, Typeable * a13, Typeable * a14, Typeable * a15, Typeable * a16, Typeable * a17, Typeable * a18, Typeable * a19, Typeable * a20) => HeterogeneousListLiteral (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) ((:) * a1 ((:) * a2 ((:) * a3 ((:) * a4 ((:) * a5 ((:) * a6 ((:) * a7 ((:) * a8 ((:) * a9 ((:) * a10 ((:) * a11 ((:) * a12 ((:) * a13 ((:) * a14 ((:) * a15 ((:) * a16 ((:) * a17 ((:) * a18 ((:) * a19 ((:) * a20 ([] *))))))))))))))))))))) Source # 

Methods

toDynamicList :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) -> [Dynamic] Source #

type HLL = HeterogeneousListLiteral Source #

An alias for HeterogeneousListLiteral