aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorAdrian Kummerlaender2015-02-09 18:20:22 +0100
committerAdrian Kummerlaender2015-02-09 18:20:22 +0100
commit8893f72598040681aec3de58740212c0003fc65b (patch)
tree84ccfbe97f32304ea3dab8f732fba178db70d574 /README.md
parent709274402ff0a83dfaacae880dfa6db478d29ab1 (diff)
downloadTypeAsValue-8893f72598040681aec3de58740212c0003fc65b.tar
TypeAsValue-8893f72598040681aec3de58740212c0003fc65b.tar.gz
TypeAsValue-8893f72598040681aec3de58740212c0003fc65b.tar.bz2
TypeAsValue-8893f72598040681aec3de58740212c0003fc65b.tar.lz
TypeAsValue-8893f72598040681aec3de58740212c0003fc65b.tar.xz
TypeAsValue-8893f72598040681aec3de58740212c0003fc65b.tar.zst
TypeAsValue-8893f72598040681aec3de58740212c0003fc65b.zip
Updated `README.md` to mention recent features and direction
Diffstat (limited to 'README.md')
-rw-r--r--README.md8
1 files changed, 5 insertions, 3 deletions
diff --git a/README.md b/README.md
index f7f0b5d..50d6dff 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
…is a template metaprogramming library intended for compile time computation written in C++. As its name implies it follows the overall concept of viewing types as values and templates as functions manipulating those values.
-This library is currently primarily a reimplementation of my previous attempt at this problem: [ConstList](https://github.com/KnairdA/ConstList). As detailed in the appropriate [blog article](http://blog.kummerlaender.eu/article/a_look_at_compile_time_computation_in_cpp/) the mixed approach between generic lambda expressions, `constexpr` marked functions and template metaprogramming doesn't offer sufficient flexibility which led me to approach compile time computation in a slightly different manner via this new library.
+This library is a expanded reimplementation of my previous attempt at this problem: [ConstList](https://github.com/KnairdA/ConstList). As detailed in the appropriate [blog article](http://blog.kummerlaender.eu/article/a_look_at_compile_time_computation_in_cpp/) the mixed approach between generic lambda expressions, `constexpr` marked functions and template metaprogramming doesn't offer sufficient flexibility which led me to approach compile time computation in a slightly different manner via this new library. As one might notice this boils down to using _Scheme_ as a metaphor for C++ template metaprogramming. In fact all test cases and examples are documented by representing their logic in _Scheme_.
## Example
@@ -23,16 +23,18 @@ const std::size_t count = tav::Length<
* guaranteed evaluation during compile time
* basic math and logic operations
* conditionals
-* `Cons` structure
-* `List` function as helper for `Cons` construction
+* `Cons` constructor for `Pair` type
+* `List` function as helper for `Pair` based list construction
* basic list operators such as `Nth`, `Length`, `Take` and `Append`
* list generators such as `Iota` and `MakeList`
* higher order list operation `Fold`
* higher order list operations such as `Map` and `Filter` expressed in terms of `Fold`
* higher order list queries such as `Find`, `Any`, `All` and `None`
* higher order list generators such as `ListTabulate`
+* higher order list operations such as `TakeWhile`, `Partition` and `Sort`
* basic partial function application support using `Apply`
* `static_assert` based test cases for all of the above
+* MIT license
## Requirements