Commit Graph

1973 Commits

Author SHA1 Message Date
Louis Dionne
489353c0cc Modularize Applicative 2014-07-16 16:26:22 -04:00
Louis Dionne
83bd276b3e Modularize Functor 2014-07-16 16:26:22 -04:00
Louis Dionne
c8e8d88753 Modularize Comparable 2014-07-16 16:26:22 -04:00
Louis Dionne
3da2af3ba2 Core: Add test with parametric data type + predicated instance 2014-07-16 16:26:21 -04:00
Louis Dionne
7e9ce05d5b Add the detail::dependent_on utility. 2014-07-15 11:34:23 -04:00
Louis Dionne
a316800bea convert.cpp example: Add missing Comparable mcd 2014-07-15 11:33:49 -04:00
Louis Dionne
9e8928e299 Remove internal documentation from Doxygen output. 2014-07-15 10:49:20 -04:00
Louis Dionne
8b1a689a5c Core: use variadic templates instead of an unspecified type in instance 2014-07-15 10:45:54 -04:00
Louis Dionne
5d68bcdf45 Iterable: Remove the provided Comparable instance 2014-07-15 10:30:50 -04:00
Louis Dionne
c5e3352180 Core: workaround an assertion in Clang with to being a lambda 2014-07-15 10:28:44 -04:00
Louis Dionne
86c0d427a0 StdIntegerSequence: improve the Comparable instance. 2014-07-15 10:05:30 -04:00
Louis Dionne
13b50b5a72 Remove empty instances. 2014-07-14 20:45:14 -04:00
Louis Dionne
8a3efe60fe StdTuple: Add note about redundant Applicative instance. 2014-07-14 20:45:14 -04:00
Louis Dionne
b19c801958 Lazy: refactor and make lazy more intuitive. 2014-07-14 20:45:14 -04:00
Louis Dionne
bfc71e548c Functional: make sure curry<N> is idempotent. 2014-07-14 20:45:14 -04:00
Louis Dionne
41c80e1d44 Applicative: make ap variadic. 2014-07-14 20:45:14 -04:00
Louis Dionne
de2959db74 Monad: add >> operator as an equivalent to bind. 2014-07-14 20:45:06 -04:00
Louis Dionne
40a3ef71c0 Add the Traversable type class. 2014-07-14 10:40:45 -04:00
Louis Dionne
af8b95e41f Add a default mcd to minimal data types. 2014-07-14 10:09:17 -04:00
Louis Dionne
e1c3564c08 Remove todos in minimal::Monad. 2014-07-13 22:48:32 -04:00
Louis Dionne
a5cab82de8 Core: make default_instance dependent on the type class arguments 2014-07-13 22:38:52 -04:00
Louis Dionne
49d9b40fc1 Core: Allow parametric data types and predicated instances to cohabit. 2014-07-13 22:06:49 -04:00
Louis Dionne
d65d47ba28 Core: use BOOST_HANA_TYPECLASS macro to create type classes. 2014-07-13 19:49:24 -04:00
Louis Dionne
87224fba92 Reorganize Monad unit tests. 2014-07-13 19:47:07 -04:00
Louis Dionne
f998098500 Reorganize Iterable unit tests. 2014-07-13 19:47:07 -04:00
Louis Dionne
c8530698c8 Core: Do not always force including core.hpp to get operators::enable 2014-07-13 19:47:06 -04:00
Louis Dionne
e0a981d58a Reorganize Functor unit tests. 2014-07-13 19:47:06 -04:00
Louis Dionne
a0945bc6de Reorganize Foldable unit tests. 2014-07-13 19:47:06 -04:00
Louis Dionne
cb69c60031 Reorganize Comparable unit tests. 2014-07-13 19:47:06 -04:00
Louis Dionne
cf531e560e List: use a more efficient right fold. 2014-07-13 11:42:03 -04:00
Louis Dionne
3248004409 Move the Lazy data type from the sandbox to the library. 2014-07-12 18:11:27 -04:00
Louis Dionne
ee90a1c898 Sandbox: sketch Traversable; the current data type system is not powerful enough to express this type class. ouch 2014-07-12 17:05:04 -04:00
Louis Dionne
aa6aed5e3b Benchmarks: add implicit dependencies to datasets. 2014-07-12 15:30:19 -04:00
Louis Dionne
3889cbe0b8 ext/boost/fusion: use Boost.Fusion algorithms whenever possible. 2014-07-12 15:15:49 -04:00
Louis Dionne
76bd4fb2fa sandbox: add Any to strong datatypes. 2014-07-12 11:59:58 -04:00
Louis Dionne
99c7e35cbb include(xs) -> include(n) in benchmark/list 2014-07-12 10:43:11 -04:00
Louis Dionne
0d277e968b Benchmark: fix benchmark.techniques.foldl.* 2014-07-09 18:08:38 -04:00
Louis Dionne
2fe7cc0b92 Add more benchmarks. 2014-07-09 17:55:56 -04:00
Louis Dionne
39bfaca8ff Benchmarks: Create Fusion stuff efficiently. 2014-07-09 16:56:45 -04:00
Louis Dionne
c4ff6e0842 Refactor benchmarks. 2014-07-09 15:36:36 -04:00
Louis Dionne
9169b3f188 Type: add rationale for trait_ and trait not being metafunction classes. 2014-07-08 11:18:56 -04:00
Louis Dionne
53a4d872db Adapt boost::tuple. 2014-07-08 11:03:16 -04:00
Louis Dionne
6aa9c3e3c8 Add tests for Fusion tuple. 2014-07-08 10:17:33 -04:00
Louis Dionne
13b330fa41 Move mpl and fusion from ext/ to ext/boost/ 2014-07-08 10:13:02 -04:00
Louis Dionne
41eefb2d29 Remove meaningless or redundant (implied) todos. 2014-07-07 21:33:07 -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
eb558b3ba1 Add foldl benchmarks for more sequences. 2014-07-07 18:51:26 -04:00
Louis Dionne
eecdf93453 Adapt non-associative ForwardSequences from Boost.Fusion. 2014-07-07 18:17:36 -04:00
Louis Dionne
63e392bde2 Sandbox: prototype for better law checking. 2014-07-07 15:48:30 -04:00