Commit Graph

1973 Commits

Author SHA1 Message Date
Louis Dionne
65796aeb6e CMake: Automatically discover unit tests and examples. 2014-06-25 23:36:14 -04:00
Louis Dionne
52eead977e Adapt std::pair and instantiate Pair with it. 2014-06-24 21:33:08 -04:00
Louis Dionne
16d4ea0930 Add the Pair type class and data type. 2014-06-24 21:28:20 -04:00
Louis Dionne
229b3422eb sandbox: add tuple experiment 2014-06-24 17:15:03 -04:00
Louis Dionne
1a41064f04 Functor: add fill 2014-06-24 13:38:54 -04:00
Louis Dionne
d4b1089d1c Explicit cast Range to List in example 2014-06-23 17:18:12 -04:00
Louis Dionne
5fbdf86311 Iterable: use eval_if instead of if_ in ComparableInstance 2014-06-23 17:03:06 -04:00
Louis Dionne
ea37adf66b Core: rethink type classes 2014-06-23 15:37:29 -04:00
Louis Dionne
99748a3566 Functor: fix typos 2014-06-22 13:17:35 -04:00
Louis Dionne
5ba2f9abb9 Applicative: rename unit to lift 2014-06-22 10:51:53 -04:00
Louis Dionne
159dbaecf6 Type: improve support for different metafunctions and rename lift 2014-06-22 10:31:10 -04:00
Louis Dionne
70f0e86fa7 Add missing Applicative include to master header. 2014-06-22 01:16: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
7440fd0c5e Applicative: add Maybe and StdTuple instances 2014-06-21 18:56:33 -04:00
Louis Dionne
585c0b8e76 Add the Applicative type class. 2014-06-21 18:16:56 -04:00
Louis Dionne
09fc489963 sandbox: add an implementation of repeat 2014-06-21 15:10:06 -04:00
Louis Dionne
9a140f885a Use elem instead of ad-hoc lambda in permutations test. 2014-06-21 14:22:46 -04:00
Louis Dionne
dfed9d39e7 Type: add lift and remove trait.hpp header 2014-06-21 14:09:08 -04:00
Louis Dionne
86a2c7e888 sandbox: remove obsolete dispatch experiment 2014-06-21 12:41:22 -04:00
Louis Dionne
7b7bbd2290 Logical: add not_ 2014-06-21 12:39:19 -04:00
Louis Dionne
13e3bf02f6 Core: fix bug with datatype and inheritance 2014-06-21 11:28:15 -04:00
Louis Dionne
56f74519fe Functor: add replace and adjust 2014-06-20 22:54:46 -04:00
Louis Dionne
0a09ddaa97 Foldable: add the elem method 2014-06-20 21:35:58 -04:00
Louis Dionne
2c1bb3a607 sandbox: add a naive and incomplete map implementation 2014-06-20 20:53:33 -04:00
Louis Dionne
3c31001786 Range: remove impossible todo item 2014-06-20 16:55:57 -04:00
Louis Dionne
2a784b2a78 Core: make sure instantiates works with complimentary type classes 2014-06-20 15:04:39 -04:00
Louis Dionne
3f8198601c Adapt std::list. 2014-06-20 15:02:50 -04:00
Louis Dionne
92d28ac0b0 Adapted: Fix include guards 2014-06-20 14:30:02 -04:00
Louis Dionne
09b2fff78e Make StdTuple a Monad. 2014-06-19 16:13:18 -04:00
Louis Dionne
56a8a50de2 sandbox: add lazy 2014-06-19 15:33:00 -04:00
Louis Dionne
c8ef9d4d47 Core: do not include type_traits 2014-06-19 12:34:07 -04:00
Louis Dionne
c7a7aa4c89 Core: add is_a and instantiates 2014-06-19 12:19:51 -04:00
Louis Dionne
6cfe3ac1b9 Functional: add function call and array subscript to placeholders 2014-06-19 11:56:24 -04:00
Louis Dionne
fa005d87e6 sandbox: add matrix multiplication and determinant 2014-06-18 23:38:10 -04:00
Louis Dionne
7e32f59837 core: Add conversion between data types 2014-06-18 20:23:53 -04:00
Louis Dionne
bac18cf909 README: document why we don't have forward declaration headers 2014-06-18 16:57:24 -04:00
Louis Dionne
fd96f88f0d Remove obsolete Doxygen aliases 2014-06-18 16:51:48 -04:00
Louis Dionne
9e06246a67 Comparable: add unit tests for the mcds 2014-06-18 16:51:48 -04:00
Louis Dionne
848ee2a978 Maybe: minor refactoring 2014-06-18 16:35:55 -04:00
Louis Dionne
d6dbd5aa37 Core: slightly improve the performance of datatype<> 2014-06-18 16:28:02 -04:00
Louis Dionne
4043adb494 Core: document and don't require core.hpp for instance and defaults 2014-06-18 16:13:54 -04:00
Louis Dionne
2b65b95cd5 Functor: documentation style revamp 2014-06-18 14:47:15 -04:00
Louis Dionne
cd37845ce2 Range: convert Integrals to their underlying type explicitly 2014-06-18 14:46:45 -04:00
Louis Dionne
42bb091e71 Foldable: reduce the mcd, steal find from Iterable and improve tests 2014-06-18 13:37:34 -04:00
Louis Dionne
390cc968a3 Integral: make integral<T, n> equivalent to true_ for n >= 1 in a boolean context 2014-06-18 12:22:21 -04:00
Louis Dionne
061ab74465 Traits: convert Integrals to their underlying integer explicitly 2014-06-18 10:51:41 -04:00
Louis Dionne
f69a799886 List: refactor and use eval_if more consistently 2014-06-18 10:47:37 -04:00
Louis Dionne
db9a37c6e4 Monad: test the minimal complete definitions 2014-06-18 10:36:55 -04:00
Louis Dionne
b185b652d7 Type: minor refactoring 2014-06-18 10:24:20 -04:00
Louis Dionne
9498f34c3d Use c-style variadics in at_index::overload_resolution to reduce instantiations. 2014-06-18 10:06:20 -04:00