Louis Dionne
af94972fb2
Improve unit tests for maximum
.
2014-05-25 20:29:38 -04:00
Louis Dionne
003b3ae4b9
Add count to Foldable.
2014-05-25 19:28:00 -04:00
Louis Dionne
c611dcfd73
Allow runtime bool conditions in if_.
2014-05-25 19:24:06 -04:00
Louis Dionne
f1694b3f4c
Add find and drop_until to Iterable.
2014-05-25 18:45:10 -04:00
Louis Dionne
93f11124a7
Add the Maybe datatype.
2014-05-25 18:36:43 -04:00
Louis Dionne
24b907db66
Add drop_while to Iterable.
2014-05-25 17:33:41 -04:00
Louis Dionne
09cee4f2fa
Add examples from Boost.Fusion.
2014-05-25 17:23:48 -04:00
Louis Dionne
c68ee3f6b3
Document attempts to adapt runtime sequences.
2014-05-25 16:16:19 -04:00
Louis Dionne
080fe25e2b
Reduce the number of instantiated variable templates in list_t.
2014-05-25 11:20:04 -04:00
Louis Dionne
d2f725f6fe
Add Typelist; an optimized List for types.
2014-05-25 11:06:18 -04:00
Louis Dionne
316f6a14ec
Optimize foldl for lifted computations.
2014-05-25 09:51:41 -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
5d57f6808d
Use homemade integer_sequence in Range.
2014-05-24 15:41:55 -04:00
Louis Dionne
fd567bd8b1
Add homemade integer_sequence.
...
<utility> is way too large to include just for that.
2014-05-24 15:41:46 -04:00
Louis Dionne
07602cd8c8
Add a 20-spec linear unroll for foldl.
2014-05-24 14:48:28 -04:00
Louis Dionne
88f59cf114
Move std_* to adapted/.
2014-05-24 13:28:48 -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
a1a09d3d17
Add benchmarks with bsearch-like unrolling for foldl.
2014-05-24 12:26:57 -04:00
Louis Dionne
2c0108cb04
Don't track datasets with git.
2014-05-23 20:21:42 -04:00
Louis Dionne
761ad36286
Add benchmarks.
2014-05-23 19:30:08 -04:00
Louis Dionne
b9e8bf180d
Add left_folds::variadic_unrolled.
2014-05-23 16:00:40 -04:00
Louis Dionne
d59b31d184
Use simpler recursion.
2014-05-23 15:28:05 -04:00
Louis Dionne
9d88d63133
Put decltype(lift<f>) into detail namespace.
2014-05-22 12:46:16 -04:00
Louis Dionne
60f524dba4
Add default behavior for equal and not_equal.
2014-05-21 19:22:22 -04:00
Louis Dionne
c0e005672e
Adapt std::integer_sequence.
2014-05-21 19:22:01 -04:00
Louis Dionne
54a61c7cbe
Remove dependency on cstddef in integral.hpp
2014-05-21 18:58:22 -04:00
Louis Dionne
46eacef345
Implement details with if_ instead of pattern matching.
2014-05-21 18:55:14 -04:00
Louis Dionne
6c87bb8d93
Adapt std::tuple.
2014-05-21 18:37:56 -04:00
Louis Dionne
8a87ec288a
Implement List with lambdas.
2014-05-21 18:12:09 -04:00
Louis Dionne
7ec7de73ea
Add note about argument-wise function composition in the README.
2014-05-21 16:38:26 -04:00
Louis Dionne
2b890a71f3
Use the y combinator in take_while.
2014-05-21 16:32:12 -04:00
Louis Dionne
0032d4bedb
Add the fixpoint combinator.
2014-05-21 16:32:12 -04:00
Louis Dionne
4212a430aa
Split Range unit tests.
2014-05-20 18:50:30 -04:00
Louis Dionne
e9d396f79d
Split Foldable unit tests.
2014-05-20 18:46:56 -04:00
Louis Dionne
d806fb1e8c
Split Iterable unit tests.
2014-05-20 18:40:42 -04:00
Louis Dionne
b7440c5190
Use constexpr lambdas whenever possible. Wow.
2014-05-20 18:29:38 -04:00
Louis Dionne
fe1e29bfa9
Fix incorrect use of static_assert.
2014-05-20 17:26:02 -04:00
Louis Dionne
f168f94b43
Use if_ whenever possible in Iterable.
2014-05-20 17:23:04 -04:00
Louis Dionne
20ae6e927c
Add partial to functional/.
2014-05-20 16:48:47 -04:00
Louis Dionne
43e5a4e943
Split unit tests for List.
2014-05-20 16:26:59 -04:00
Louis Dionne
723c42ec5d
Split logical unit tests.
2014-05-20 15:56:55 -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
a3036c2bc4
Add id, compose, always and flip.
2014-05-19 17:16:31 -04:00
Louis Dionne
e8f1a71671
Add more functions to List.
2014-05-19 16:39:53 -04:00
Louis Dionne
7d4b1108ab
Add sum and product.
2014-05-19 15:38:57 -04:00
Louis Dionne
60270e1699
Add examples with any.
2014-05-19 13:19:58 -04:00
Louis Dionne
0fb1d96522
Adapt std::array.
2014-05-19 13:01:01 -04:00
Louis Dionne
8c7cdf7e02
Add functional utilities.
2014-05-19 12:15:44 -04:00