Commit Graph

1973 Commits

Author SHA1 Message Date
Louis Dionne
1ee3b93a08 [Tuple] Implement a more efficient drop_while and find_if 2015-04-25 16:31:50 -04:00
Louis Dionne
52c10011dc [Benchmarks] Refactoring
- Modularize the directory structure
- Add code bloat benchmarks
- Benchmark larger MPL vectors
- Improve the chart display

Fixes #45
2015-04-23 13:07:39 -04:00
Louis Dionne
1538677829 [Travis] Run the benchmarks in Debug and Release configurations
Fixes #49
2015-04-22 22:58:29 -04:00
Louis Dionne
5419065dfa [Sequence] Minor refactoring; NFC 2015-04-22 17:52:12 -04:00
Louis Dionne
c102989fc4 [Product] Reformulate the laws, and ask for move-independance of first and second 2015-04-22 17:38:06 -04:00
Louis Dionne
2f356a84b2 [README] Add a semver badge
Fixes # 44
[ci skip]
2015-04-22 16:35:42 -04:00
Louis Dionne
589425a6dd [Core] Make has_operator an IntegralConstant
Fixes #51
2015-04-22 07:35:11 -04:00
Louis Dionne
8e427f2c83 [Searchable] Provide an operator[] equivalent to find 2015-04-21 21:56:47 -04:00
Louis Dionne
a3ce836049 [Searchable] Document structure-preserving functions and allow cross-type dispatching in subset 2015-04-21 20:23:24 -04:00
Louis Dionne
d3373b27d4 [Travis] Dissociate my email from the Travis bot 2015-04-21 16:50:13 -04:00
Louis Dionne
f87919b94b [Record] Rename to Struct and refactor
- Define the notion of move-independence, thus relaxing the requirements on accessors.
- Rename `members` to `accessors` and use `members` to get the members only
- Document the different ways of providing a model
- Make the model of Foldable more consistent

Fixes #53
2015-04-21 16:32:33 -04:00
Louis Dionne
fb518d859a [Monad] Renaming and refactoring.
- Rename bind to chain
- Rename mcompose to monadic_compose
- Rewrite a large part of the documentation
- Document the limit on the arity of functions used with monadic_compose

Fixes 48
Fixes 9
2015-04-19 13:13:23 -04:00
Louis Dionne
ac2f5222cd [Travis] Run the unit tests under valgrind 2015-04-18 22:36:40 -04:00
Louis Dionne
95b356038d [Benchmarks] Allow measuring the code bloat 2015-04-18 20:59:45 -04:00
Louis Dionne
f3030c926b [Benchmarks] Add benchmarks with the MPL11 and other experiments when supported 2015-04-18 19:55:20 -04:00
Louis Dionne
76d94cdcb2 [Benchmarks] Add a basic setup to visualize benchmarks 2015-04-18 19:55:20 -04:00
Louis Dionne
9a0e356421 [Travis] Run the benchmarks on each compiler and other minor enhancements 2015-04-18 12:51:26 -04:00
Louis Dionne
36a3e22429 [CMake] Add targets to update the benchmarks on the 'datasets' branch 2015-04-18 12:51:26 -04:00
Louis Dionne
17b041d2a1 [CMake] Remove the now unused Benchmarks module. Farewell. 2015-04-18 12:51:25 -04:00
Louis Dionne
fd14741747 [Benchmarks] Simplify the benchmark framework and generate JSON instead of CSV 2015-04-18 12:51:25 -04:00
Louis Dionne
d8183c374c [Travis] Test against the official Boost 1.58.0 release instead of rc1 2015-04-17 16:17:35 -04:00
Louis Dionne
056b072648 [Sequence] Add an example of using the Monad model for non-determinism 2015-04-15 10:06:27 -04:00
lolisa
21952b9f54 comment out unused variable.
[ldionne: rebase and remove the -Wno-unused-parameter flag from CMake]

Closes #43
2015-04-14 16:23:51 -04:00
Louis Dionne
0612624939 [Detail] Add basic unit tests for the constexpr algorithms. 2015-04-14 13:32:45 -04:00
Louis Dionne
6cf3364bb0 [Benchmarks] Update the benchmarks for fold.left 2015-04-13 19:44:57 -04:00
Louis Dionne
686656a3f2 [Iterable] Add the drop.at_most and drop.exactly variants to drop 2015-04-12 11:29:02 -04:00
Louis Dionne
1171b83fe3 [Sequence] Add the subsequence method
Fixes #37
2015-04-12 10:47:12 -04:00
Louis Dionne
e60827d02d [Example] Add a funny use case for user defined literals 2015-04-11 14:11:24 -04:00
Louis Dionne
93343e8317 [Tests] Send objects containing Logicals only to the Searchable tests 2015-04-11 13:45:55 -04:00
Louis Dionne
6abd0f9d8e [Set] Improve the documentation and fix inconsistency in the behavior of to<Set> 2015-04-11 12:49:45 -04:00
Louis Dionne
9edc0c854f [Foldable] Move the Foldable -> Sequence conversion to foldable.hpp 2015-04-11 12:09:01 -04:00
Louis Dionne
daaba5dfd8 [Map] Provide model of Foldable, improve docs and add insert method.
Fixes #41
2015-04-11 12:09:01 -04:00
Louis Dionne
8bd84a5d4b [Metafunction] Generalize trait to arbitrary Metafunctions and improve docs 2015-04-11 09:29:06 -04:00
Louis Dionne
e77b55b1b4 [Iterable] Precise the laws 2015-04-10 18:00:49 -04:00
Louis Dionne
ba435f29e8 [Travis] Add travis_wait to large downloads to make sure we don't timeout 2015-04-10 17:49:29 -04:00
Louis Dionne
08e55a7bb6 Rework the relations between Foldable, Iterable and Searchable. 2015-04-10 17:46:14 -04:00
Louis Dionne
c434f134ba [Applicative] Implement automatic law checking 2015-04-10 13:17:51 -04:00
Louis Dionne
06ed355b0d [Traversable] Document the laws 2015-04-10 12:21:52 -04:00
Louis Dionne
b21fdc32de [Detail] Remove obsolete detail::wrap utility 2015-04-10 09:38:32 -04:00
Louis Dionne
e8412cfc6a [Detail] Regroup the STL concepts into detail/concepts.hpp 2015-04-10 09:34:17 -04:00
Louis Dionne
a12315c1a6 [Detail] Add constexpr algorithms and use them in the implementation 2015-04-10 08:33:18 -04:00
Louis Dionne
6fb2fbd432 [README] Open links in new tabs when clicking the badges
[ci skip]
2015-04-09 17:43:35 -04:00
Louis Dionne
17169d99d3 [Constant] Document conversions, embeddings and related material. Fix TODOS 2015-04-09 11:18:03 -04:00
Louis Dionne
8026bd1e48 [Sequence] Require the natural isomorphism to be bijective in the laws 2015-04-09 09:38:10 -04:00
Louis Dionne
55e4a1d083 [Sequence] Try to formulate laws that make sense and improve the documentation 2015-04-09 09:27:09 -04:00
Louis Dionne
891cb21d11 [Travis] Test on clang-3.5 too
The solution was suggested in https://github.com/travis-ci/travis-ci/issues/3505. Thanks!
2015-04-08 20:58:29 -04:00
Louis Dionne
c9d7db15cd [Git] Remove now empty .gitmodules file
[ci skip]
2015-04-08 19:06:31 -04:00
Louis Dionne
818148de6e [Core] Document undefined behavior with operators 2015-04-08 18:28:15 -04:00
Louis Dionne
b436ff0ee6 [Sequence] Settle on the semantics of the slice function
Fixes #36
2015-04-08 17:56:28 -04:00
Louis Dionne
bccfabdef7 Add interface-level assertions in bi-dispatched methods too. 2015-04-08 17:29:57 -04:00