Marker that all types of HL1 are contained in HL2
Provides scala collection like operations on sequantially indexed arbitrary arity types, like HList and tuple
Provides scala collection like operations on sequantially indexed arbitrary arity types, like HList and tuple
Harshad Deo
Type on which the operations are defined
0.1
Provided arbitrary arity zips for sequentially indexed arbitrary arity types, like HList or Tuples
Provided arbitrary arity zips for sequentially indexed arbitrary arity types, like HList or Tuples
Harshad Deo
Type on which operations are defined
Down-converted type of Z. For more, see constraint.DownTransformConstraint
0.1
Church encodings of booleans.
Church encodings of booleans.
Can be understood as an alias for a type constructor that chooses between one of two alternative types. Is primarily used to enforce the invariants of more complex type-level operations
Harshad Deo
0.1
Typelevel encoding of the result of a comparison
Typelevel encoding of the result of a comparison
Harshad Deo
0.1
Marker that type A is one of the types of the supplied HList type
Marker that type A is one of the types of the supplied HList type
Harshad Deo
Type under consideration
HList of types to check against
0.1
Typelevel representation of dense numbers, stored as a list of Dense.Digit
Typelevel representation of dense numbers, stored as a list of Dense.Digit
Harshad Deo
0.1
Marker trait for typelevel subtraction of Dense numbers.
Marker trait for typelevel subtraction of Dense numbers.
Takes linear time (compared to log time for addition), therefore its usage should be limited
Harshad Deo
Minuend
Subtrahend
Difference
0.1
Typelevel map in which the keys are Dense numbers.
Typelevel map in which the keys are Dense numbers. Implemented a binary tree.
Harshad Deo
0.1
Typelevel set of Dense numbers, implemented as a binary tree
Typeclass for typelevel and valuelevel fold
Typeclass for typelevel and valuelevel fold
Harshad Deo
0.1
Typeclass for typelevel and valuelevel fold for a tuple arg
Typeclass for typelevel and valuelevel fold for a tuple arg
Harshad Deo
0.6.0
Sequentially indexed arbitrary arity type in which each element can be of a different type
Sequentially indexed arbitrary arity type in which each element can be of a different type
Harshad Deo
0.1
Conversions from HList to Tuple
Conversions from HList to Tuple
Harshad Deo
Type of the resultant Tuple
Type of the input HList
0.1
Common operations on HList
Common operations on HList
Harshad Deo
Type of the HList on which the operations are defined
0.1
Typelevel representation of a compile time constant literal.
Typelevel representation of a compile time constant literal.
The type hash encoded the type of the literal and the value encoded the value of the literal therefore, even if say, a char and string have the same value hash, they will have different literal hashes.
Harshad Deo
Type of the literal that has been hashed
0.1
Provided implicit definition to convert HList to Tuple1.
Provided implicit definition to convert HList to Tuple1. Kept in a trait that is subtyped to avoid ambiguity with more specific converters
Harshad Deo
0.1
Peano encoding of natural numbers
Peano encoding of natural numbers
Harshad Deo
0.1
Marker trait for typelevel subtraction of Nat
Marker trait for typelevel subtraction of Nat
Harshad Deo
Minuend
Subtrahend
Difference
0.1
Marker that type A is not one of the types of the supplied HList type
Marker that type A is not one of the types of the supplied HList type
Harshad Deo
Type under consideration
HList of types to check against
0.1
Marker that type A is not a subtype of the types of the supplied HList type
Marker that type A is not a subtype of the types of the supplied HList type
Harshad Deo
Type under consideration
HList of types to check against
0.1
String indexed collection in which the elements can have different types.
Provides scala collection like operations on string indexed collections like Record and StringIndexedCollection
Provides scala collection like operations on string indexed collections like Record and StringIndexedCollection
Harshad Deo
Type on which the operations are defined
0.1
Sequantially indexed immutable collection of fixed size in which all elements are of the same type.
Sequantially indexed immutable collection of fixed size in which all elements are of the same type. Uses scala.collection.immutable.Vector as a backing datastructure.
Harshad Deo
Size of the collection
Element type of the collection
0.1
String indexed collection in which all the elements are of the same type.
String indexed collection in which all the elements are of the same type. Uses scala.collection.immutable.Vector and DenseMap as backing datastructures
Harshad Deo
Type of the collection
0.1
Marker that type A is a subtype of one of the types of the supplied HList type
Marker that type A is a subtype of one of the types of the supplied HList type
Harshad Deo
Type under consideration
HList of types to check against
0.1
Conversion from Tuple to HList
Conversion from Tuple to HList
Harshad Deo
Type of the tuple
Type of the resultant HList
0.1
Provides scala collection-like operations on tuples.
Provides scala collection-like operations on tuples.
Harshad Deo
Type of the tuple for which the operation is defined
0.1
Proxy for natural transformations between contexts
Proxy for natural transformations between contexts
Harshad Deo
Source Context
Destination Context
0.1
Contains implementation for Bool and typeconstructor aliases that make usage more pleasant
Contains implementation for Bool and typeconstructor aliases that make usage more pleasant
The operations can be shown to satisfy:
1. Associativity of Or: ||[A, B || C] =:= ||[A || B, C]
2. Associativity of And: &&[A, B && C] =:= &&[A && B, C]
3. Commutativity of Or: ||[A, B] =:= ||[B, A]
4. Commutativity of And: &&[A, B] =:= &&[B, A]
5. Distributivity of Or over And: ||[A, B && C] =:= &&[A || B, A || C]
6. Distributivity of And over Or: &&[A, B || C] =:= ||[A && B, A && C]
7. Identity for Or: ||[A, False] =:= A
8. Identity for And: &&[A, True] =:= A
9. Annhilator for Or: ||[A, True] =:= True
10. Annhilator for And: &&[A, False] =:= False
11. Idempotence of Or: ||[A, A] =:= A
12. Idempotence of And: &&[A, A] =:= A
13. Absorption 1: &&[A, A || B] =:= A
14. Absorbtion 2: ||[A, A && B] =:= A
15. Complementation 1: &&[A, Not[A]] =:= False
16. Complementation 2: ||[A, Not[A]] =:= True
17. Double Negation: Not[Not[A]] =:= A
18. De Morgan 1: &&[Not[A], Not[B]] =:= Not[A || B]
19. De Morgan 2: ||[Not[A], Not[B]] =:= Not[A && B]
Harshad Deo
0.1
Contains implementation for Comparison
Contains implicit definitions to build a Contained marker.
Contains implementation for Dense and typeconstructor aliases that make usage more pleasant
Contains implementation for Dense and typeconstructor aliases that make usage more pleasant
The operations can be shown to satisfy:
1. Additive commutativity: +[A, B] =:= +[B, A]
2. Additive associativity: +[A, +[B, C]] =:= +[+[A, B], C]
3. Additive identity: +[A, _0] =:= A =:= +[_0, A]
4. Multiplicative commutativity: *[A, B] =:= *[B, A]
5. Multiplicative associativity: *[A, *[B, C]] =:= *[*[A, B], C]
6. Multiplicative identity: *[A, _1] =:= A =:= *[_1, A]
7. Distributivity: *[A, +[B, C]] =:= +[*[A, B], *[A, C]]
8. Zero exponent: ^[A, _0] =:= _1
9. One exponent: ^[_1, A] =:= _1
10. Exponent Identity: ^[A, _1] =:= A
11. Exponent combination 1: *[^[A, B], ^[A, C]] =:= ^[A, *[B, C]]
12. Exponent combination 2: ^[^[A, B], C] =:= ^[A, *[B, C]]
13. Exponent combination 3: ^[*[A, B], C] =:= *[^[A, C], ^[B, C]]
14. Total Order
Harshad Deo
0.1
Contains implicit definitions to build a DenseDiff marker
Contains implementation traits for DenseMap and typeconstructor aliases that make usage more pleasant.
Contains implementation traits for DenseMap and typeconstructor aliases that make usage more pleasant.
Harshad Deo
0.1
Contains implementation traits for DenseSet and typeconstructor aliases that make usage more pleasant.
Contains implementation traits for DenseSet and typeconstructor aliases that make usage more pleasant.
Harshad Deo
0.1
Contains implementations for HList and implicit definitions to build the constraint typeclasses necessary for operations.
Contains implementations for HList and implicit definitions to build the constraint typeclasses necessary for operations.
Harshad Deo
0.1
Provides implicit definitions to convert Tuple2-18 to HList.
Provides implicit definitions to convert Tuple2-18 to HList. Beyond Tuple18, the implicit search takes too long to be practical
Harshad Deo
0.1
Contains implicit conversions to convert literals to their corresponding LiteralHash
Contains implicit conversions to convert literals to their corresponding LiteralHash
Harshad Deo
0.1
Contains implementation traits for Nat and typeconstructor aliases that make usage more pleasant.
Contains implementation traits for Nat and typeconstructor aliases that make usage more pleasant.
1. Additive commutativity: +[A, B] =:= +[B, A]
2. Additive associativity: +[A, +[B, C]] =:= +[+[A, B], C]
3. Additive identity: +[A, _0] =:= A =:= +[_0, A]
4. Multiplicative commutativity: *[A, B] =:= *[B, A]
5. Multiplicative associativity: *[A, *[B, C]] =:= *[*[A, B], C]
6. Multiplicative identity: *[A, _1] =:= A =:= *[_1, A]
7. Distributivity: *[A, +[B, C]] =:= +[*[A, B], *[A, C]]
8. Zero exponent: ^[A, _0] =:= _1
9. One exponent: ^[_1, A] =:= _1
10. Exponent Identity: ^[A, _1] =:= A
11. Total Order
Harshad Deo
0.1
Contains implicit definitions to build a NatDiff marker
Contains implicit definitions to build a NotContained marker.
Containt implicit definitions to build a NotSubType marker
Contains implementations of Record and implicit definitions for building typeclasses necessary for the operations on records
Contains implementations of Record and implicit definitions for building typeclasses necessary for the operations on records
Harshad Deo
0.1
Implements methods to construct SizedVector objects
Contains implementations of StringIndexedCollection and implicit definitions for building typeclasses necessary for the operations on string indexed collections
Contains implementations of StringIndexedCollection and implicit definitions for building typeclasses necessary for the operations on string indexed collections
Harshad Deo
0.1
Containt implicit definitions to build a SubType marker
Provides implicit definitions to convert Tuple2-22 to HList
Provides implicit definitions to build constraint typeclasses for tuples.
Provides implicit definitions to build constraint typeclasses for tuples. To do so, converts the tuple to the corresponding HList, applies the operation on the HList and converts the result back to a tuple.
Harshad Deo
0.1
Contains implicit conversions and values that provide several utility methods
Contains implicit conversions and values that provide several utility methods
Harshad Deo
0.1
Marker that all types of HL1 are contained in HL2
Author:
Harshad Deo
0.2.2