Commit Graph

195 Commits

Author SHA1 Message Date
Louis Dionne
decb1a4d8c Add curry<n> to functional. 2014-05-27 15:46:52 -04:00
Louis Dionne
3d9480855e Make Typelist a transparent optimization. 2014-05-27 15:07:01 -04:00
Louis Dionne
3bb00967ef Make Maybe a Monad. 2014-05-27 14:12:11 -04:00
Louis Dionne
09274a9ea3 Make List a Monad. 2014-05-27 11:12:05 -04:00
Louis Dionne
5f616bb4f5 Add the Monad typeclass and make Type a Monad. 2014-05-27 11:01:20 -04:00
Louis Dionne
49672fd986 Introduce datatypes for dispatching. 2014-05-27 10:52:53 -04:00
Louis Dionne
eda7ea303a Add a more efficient at_index algorithm. 2014-05-26 14:21:29 -04:00
Louis Dionne
d85eb7ccb2 Add init to List and implement length better. 2014-05-26 12:32:38 -04:00
Louis Dionne
6086633003 Add sort and partition. 2014-05-26 11:27:05 -04:00
Louis Dionne
12273221e1 Add placeholders in functional/. 2014-05-26 10:07:27 -04:00
Louis Dionne
003b3ae4b9 Add count to Foldable. 2014-05-25 19:28:00 -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
d2f725f6fe Add Typelist; an optimized List for types. 2014-05-25 11:06:18 -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
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
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
b9e8bf180d Add left_folds::variadic_unrolled. 2014-05-23 16:00:40 -04:00
Louis Dionne
c0e005672e Adapt std::integer_sequence. 2014-05-21 19:22:01 -04:00
Louis Dionne
6c87bb8d93 Adapt std::tuple. 2014-05-21 18:37:56 -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
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
a3036c2bc4 Add id, compose, always and flip. 2014-05-19 17:16:31 -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
Louis Dionne
4369952ad6 More tests for Type<>. 2014-05-18 20:55:44 -04:00
Louis Dionne
e511cff396 Add logical operations. 2014-05-18 18:21:33 -04:00
Louis Dionne
d6819d4dc6 Add the Comparable type class. 2014-05-18 17:57:01 -04:00
Louis Dionne
09c0c8a8e1 Add notes on ADL. 2014-05-18 17:22:16 -04:00
Louis Dionne
033770cc42 Add zip_with to List and improve Foldable. 2014-05-18 15:26:35 -04:00
Louis Dionne
02b62cb8e7 Add if_. 2014-05-17 23:53:24 -04:00
Louis Dionne
49a15742a5 Add default operations to Iterable. 2014-05-16 08:46:05 -06:00
Louis Dionne
edb09990fc Add hana::Type. 2014-05-16 08:26:56 -06:00
Louis Dionne
61f73d4687 Add Range and List. 2014-05-16 07:56:09 -06:00
Louis Dionne
d732f5511b Add hana::Integral. 2014-05-15 16:52:55 -06:00
Louis Dionne
ae803c667b Basic setup. 2014-05-15 16:09:22 -06:00