Louis Dionne
83bd276b3e
Modularize Functor
2014-07-16 16:26:22 -04:00
Louis Dionne
48bb45394f
Type: add a not-too-dirty way to optimize metafunction classes.
2014-07-07 21:33:06 -04:00
Louis Dionne
573c863c49
Type: make metafunction, metafunction_class and template_ valid metafunction classes.
2014-07-07 20:05:11 -04:00
Louis Dionne
5efa23003f
Rename join to flatten.
2014-07-01 22:04:56 -04:00
Louis Dionne
70a6c913b7
Type: refactor the interface
2014-07-01 17:32:32 -04:00
Louis Dionne
159dbaecf6
Type: improve support for different metafunctions and rename lift
2014-06-22 10:31:10 -04:00
Louis Dionne
fa98685327
Move unit from Monad to Applicative and remove pure.
2014-06-21 19:29:28 -04:00
Louis Dionne
dfed9d39e7
Type: add lift and remove trait.hpp header
2014-06-21 14:09:08 -04:00
Louis Dionne
b185b652d7
Type: minor refactoring
2014-06-18 10:24:20 -04:00
Louis Dionne
ee9681f7aa
Minor ungrouped improvements and bug fixes.
2014-06-16 08:17:08 -04:00
Louis Dionne
77c925d239
Add examples in Foldable and add the sizeof_ method
2014-06-13 22:16:12 -04:00
Louis Dionne
809101956b
Type: add construction capabilities
2014-06-09 18:22:33 -04:00
Louis Dionne
ee6c805ca8
Type: decouple library from its internal representation
2014-06-09 10:39:05 -04:00
Louis Dionne
2567066828
Type: documentation and decoupling
2014-06-08 16:41:52 -04:00
Louis Dionne
b694f5e465
Integral: Strip cv-qualifiers of the integral type.
2014-06-05 21:17:06 -04:00
Louis Dionne
5b4d569962
Type: Add decltype_ and remove coupling.
2014-06-04 21:24:19 -04:00
Louis Dionne
91689fe4f0
Make the header comment and license uniform.
2014-06-03 11:46:24 -04:00
Louis Dionne
6215e82a01
Improve type traits and partially document Integral.
2014-06-02 21:49:36 -04:00
Louis Dionne
418b8941ad
Test Functor laws and modify Type's fmap.
2014-05-31 10:40:21 -04:00
Louis Dionne
5f616bb4f5
Add the Monad typeclass and make Type a Monad.
2014-05-27 11:01:20 -04:00
Louis Dionne
05593b652c
Redefine lift as an equivalence of categories.
...
This allows us to mechanically translate most type traits, which is
a good hint that we've found a way to merge type computation with
value computation. The problematic type traits will be tackled later.
2014-05-24 19:06:41 -04:00
Louis Dionne
bea47fa4d2
Add examples.
2014-05-24 13:28:48 -04:00
Louis Dionne
d1133c917b
Split type and traits into two headers.
2014-05-24 12:39:12 -04:00
Louis Dionne
fe1e29bfa9
Fix incorrect use of static_assert.
2014-05-20 17:26:02 -04:00
Louis Dionne
abc623cc09
Use nastier types in mpl_equivalent test.
2014-05-20 14:36:20 -04:00
Louis Dionne
b66c0e8c14
Add list_t.
2014-05-20 13:50:44 -04:00
Louis Dionne
4369952ad6
More tests for Type<>.
2014-05-18 20:55:44 -04:00