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