aboutsummaryrefslogtreecommitdiff
path: root/test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test.cc')
-rw-r--r--test.cc355
1 files changed, 178 insertions, 177 deletions
diff --git a/test.cc b/test.cc
index 39d5349..efe48f3 100644
--- a/test.cc
+++ b/test.cc
@@ -9,6 +9,7 @@
#include "list/operation/contains.h"
#include "list/operation/higher/map.h"
#include "list/operation/higher/filter.h"
+#include "list/operation/higher/remove.h"
#include "list/operation/higher/partition.h"
#include "list/operation/higher/query.h"
#include "list/operation/higher/find.h"
@@ -64,7 +65,7 @@ static_assert(
static_assert(
std::is_same<
tav::Int<3>,
- tav::Add<tav::Int<1>, tav::Int<2>>::type
+ tav::Add<tav::Int<1>, tav::Int<2>>
>::value,
"(+ 1 2) != 3"
);
@@ -72,7 +73,7 @@ static_assert(
static_assert(
std::is_same<
tav::Int<4>,
- tav::Substract<tav::Int<10>, tav::Int<6>>::type
+ tav::Substract<tav::Int<10>, tav::Int<6>>
>::value,
"(- 10 6) != 4"
);
@@ -80,7 +81,7 @@ static_assert(
static_assert(
std::is_same<
tav::Int<42>,
- tav::Multiply<tav::Int<2>, tav::Int<21>>::type
+ tav::Multiply<tav::Int<2>, tav::Int<21>>
>::value,
"(* 2 21) != 42"
);
@@ -88,7 +89,7 @@ static_assert(
static_assert(
std::is_same<
tav::Int<5>,
- tav::Divide<tav::Int<10>, tav::Int<2>>::type
+ tav::Divide<tav::Int<10>, tav::Int<2>>
>::value,
"(/ 10 2) != 42"
);
@@ -96,7 +97,7 @@ static_assert(
static_assert(
std::is_same<
tav::Int<1>,
- tav::Modulo<tav::Int<10>, tav::Int<3>>::type
+ tav::Modulo<tav::Int<10>, tav::Int<3>>
>::value,
"(modulo 10 3) != 1"
);
@@ -104,7 +105,7 @@ static_assert(
static_assert(
std::is_same<
tav::Int<4096>,
- tav::Square<tav::Int<64>>::type
+ tav::Square<tav::Int<64>>
>::value,
"(square 64) != 4096"
);
@@ -112,7 +113,7 @@ static_assert(
static_assert(
std::is_same<
tav::Boolean<true>,
- tav::Odd<tav::Int<1>>::type
+ tav::Odd<tav::Int<1>>
>::value,
"(odd? 1) != #t"
);
@@ -120,7 +121,7 @@ static_assert(
static_assert(
std::is_same<
tav::Boolean<false>,
- tav::Odd<tav::Int<2>>::type
+ tav::Odd<tav::Int<2>>
>::value,
"(odd? 2) != #f"
);
@@ -128,7 +129,7 @@ static_assert(
static_assert(
std::is_same<
tav::Boolean<true>,
- tav::GreaterThan<tav::Int<2>, tav::Int<1>>::type
+ tav::GreaterThan<tav::Int<2>, tav::Int<1>>
>::value,
"(> 2 1) != #f"
);
@@ -136,7 +137,7 @@ static_assert(
static_assert(
std::is_same<
tav::Boolean<false>,
- tav::GreaterThan<tav::Int<1>, tav::Int<2>>::type
+ tav::GreaterThan<tav::Int<1>, tav::Int<2>>
>::value,
"(> 1 2) != #f"
);
@@ -144,7 +145,7 @@ static_assert(
static_assert(
std::is_same<
tav::Boolean<true>,
- tav::LowerThan<tav::Int<1>, tav::Int<2>>::type
+ tav::LowerThan<tav::Int<1>, tav::Int<2>>
>::value,
"(< 1 2) != #t"
);
@@ -152,7 +153,7 @@ static_assert(
static_assert(
std::is_same<
tav::Boolean<false>,
- tav::LowerThan<tav::Int<2>, tav::Int<1>>::type
+ tav::LowerThan<tav::Int<2>, tav::Int<1>>
>::value,
"(< 2 1) != #f"
);
@@ -162,7 +163,7 @@ static_assert(
static_assert(
std::is_same<
tav::Boolean<true>,
- tav::And<tav::Boolean<true>, tav::Boolean<true>>::type
+ tav::And<tav::Boolean<true>, tav::Boolean<true>>
>::value,
"(and #t #t) != #t"
);
@@ -170,7 +171,7 @@ static_assert(
static_assert(
std::is_same<
tav::Boolean<false>,
- tav::And<tav::Boolean<false>, tav::Boolean<true>>::type
+ tav::And<tav::Boolean<false>, tav::Boolean<true>>
>::value,
"(and #f #t) != #f"
);
@@ -178,7 +179,7 @@ static_assert(
static_assert(
std::is_same<
tav::Boolean<true>,
- tav::Or<tav::Boolean<true>, tav::Boolean<true>>::type
+ tav::Or<tav::Boolean<true>, tav::Boolean<true>>
>::value,
"(or #t #t) != #t"
);
@@ -186,7 +187,7 @@ static_assert(
static_assert(
std::is_same<
tav::Boolean<true>,
- tav::Or<tav::Boolean<false>, tav::Boolean<true>>::type
+ tav::Or<tav::Boolean<false>, tav::Boolean<true>>
>::value,
"(or #f #t) != #t"
);
@@ -194,7 +195,7 @@ static_assert(
static_assert(
std::is_same<
tav::Boolean<false>,
- tav::Or<tav::Boolean<false>, tav::Boolean<false>>::type
+ tav::Or<tav::Boolean<false>, tav::Boolean<false>>
>::value,
"(or #f #f) != #f"
);
@@ -202,7 +203,7 @@ static_assert(
static_assert(
std::is_same<
tav::Boolean<true>,
- tav::Xor<tav::Boolean<false>, tav::Boolean<true>>::type
+ tav::Xor<tav::Boolean<false>, tav::Boolean<true>>
>::value,
"(xor #f #t) != #t"
);
@@ -210,7 +211,7 @@ static_assert(
static_assert(
std::is_same<
tav::Boolean<false>,
- tav::Xor<tav::Boolean<true>, tav::Boolean<true>>::type
+ tav::Xor<tav::Boolean<true>, tav::Boolean<true>>
>::value,
"(xor #t #t) != #f"
);
@@ -220,7 +221,7 @@ static_assert(
static_assert(
std::is_same<
tav::Int<1>,
- tav::If<tav::Boolean<true>, tav::Int<1>, tav::Int<2>>::type
+ tav::If<tav::Boolean<true>, tav::Int<1>, tav::Int<2>>
>::value,
"(if #t 1 2) != 1"
);
@@ -228,7 +229,7 @@ static_assert(
static_assert(
std::is_same<
tav::Int<2>,
- tav::If<tav::Boolean<false>, tav::Int<1>, tav::Int<2>>::type
+ tav::If<tav::Boolean<false>, tav::Int<1>, tav::Int<2>>
>::value,
"(if #f 1 2) != 2"
);
@@ -240,7 +241,7 @@ static_assert(
tav::Pair<tav::IsEqualValue<tav::Int<1>, tav::Int<2>>, tav::Int<1>>,
tav::Pair<tav::IsEqualValue<tav::Int<2>, tav::Int<2>>, tav::Int<2>>,
tav::Pair<tav::IsEqualValue<tav::Int<3>, tav::Int<2>>, tav::Int<3>>
- >::type
+ >
>::value,
"(cond ((= 1 2) 1) ((= 2 2) 2) ((= 3 2) 3)) != 2"
);
@@ -253,7 +254,7 @@ static_assert(
tav::Pair<tav::IsEqualValue<tav::Int<2>, tav::Int<3>>, tav::Int< 2>>,
tav::Pair<tav::IsEqualValue<tav::Int<3>, tav::Int<4>>, tav::Int< 3>>,
tav::Pair<tav::Boolean<true>, tav::Int<-1>>
- >::type
+ >
>::value,
"(cond ((= 1 2) 1) ((= 2 3) 2) ((= 3 4) 3) (else -1)) != -1"
);
@@ -264,8 +265,8 @@ static_assert(
std::is_same<
tav::Int<1>,
tav::Car<
- tav::Cons<tav::Int<1>, void>::type
- >::type
+ tav::Cons<tav::Int<1>, void>
+ >
>::value,
"(car (cons 1 void)) != 1"
);
@@ -274,8 +275,8 @@ static_assert(
std::is_same<
tav::Int<1>,
tav::Car<
- tav::Cons<tav::Int<1>, tav::Int<2>>::type
- >::type
+ tav::Cons<tav::Int<1>, tav::Int<2>>
+ >
>::value,
"(car (cons 1 2)) != 1"
);
@@ -284,8 +285,8 @@ static_assert(
std::is_same<
tav::Int<2>,
tav::Cdr<
- tav::Cons<tav::Int<1>, tav::Int<2>>::type
- >::type
+ tav::Cons<tav::Int<1>, tav::Int<2>>
+ >
>::value,
"(cdr (cons 1 2)) != 2"
);
@@ -295,9 +296,9 @@ static_assert(
tav::Int<2>,
tav::Car<
tav::Cdr<
- tav::Cons<tav::Int<1>, tav::Cons<tav::Int<2>, tav::Int<3>>::type>::type
- >::type
- >::type
+ tav::Cons<tav::Int<1>, tav::Cons<tav::Int<2>, tav::Int<3>>>
+ >
+ >
>::value,
"(car (cdr (cons 1 (cons 2 3)))) != 2"
);
@@ -307,7 +308,7 @@ static_assert(
static_assert(
std::is_same<
tav::Pair<tav::Int<1>, void>,
- tav::List<tav::Int<1>>::type
+ tav::List<tav::Int<1>>
>::value,
"(list 1) != '(1)"
);
@@ -315,7 +316,7 @@ static_assert(
static_assert(
std::is_same<
tav::Pair<tav::Int<1>, tav::Pair<tav::Int<2>, void>>,
- tav::List<tav::Int<1>, tav::Int<2>>::type
+ tav::List<tav::Int<1>, tav::Int<2>>
>::value,
"(list 1 2) != '(1 . 2)"
);
@@ -323,7 +324,7 @@ static_assert(
static_assert(
std::is_same<
tav::Pair<tav::Int<1>, tav::Pair<tav::Int<2>, void>>,
- tav::List<void, tav::Int<1>, void, tav::Int<2>, void>::type
+ tav::List<void, tav::Int<1>, void, tav::Int<2>, void>
>::value,
"(list void 1 void 2 void) != '(1 . 2)"
);
@@ -332,7 +333,7 @@ static_assert(
std::is_same<
tav::Int<1>,
tav::Head<
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
>
>::value,
"(head (list 1 2 3) != 1"
@@ -342,7 +343,7 @@ static_assert(
std::is_same<
tav::Pair<tav::Int<2>, tav::Pair<tav::Int<3>, void>>,
tav::Tail<
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
>
>::value,
"(tail (list 1 2 3) != '(2 . 3)"
@@ -353,7 +354,7 @@ static_assert(
static_assert(
std::is_same<
tav::Pair<tav::Int<1>, void>,
- tav::ListOfType<int, 1>::type
+ tav::ListOfType<int, 1>
>::value,
"(list 1) != (cons 1 void)"
);
@@ -361,7 +362,7 @@ static_assert(
static_assert(
std::is_same<
tav::Pair<tav::Int<1>, tav::Pair<tav::Int<2>, void>>,
- tav::ListOfType<int, 1, 2>::type
+ tav::ListOfType<int, 1, 2>
>::value,
"(list 1 2) != (cons 1 (cons 2 void))"
);
@@ -372,8 +373,8 @@ static_assert(
std::is_same<
tav::Size<1>,
tav::Length<
- tav::List<tav::Int<1>>::type
- >::type
+ tav::List<tav::Int<1>>
+ >
>::value,
"(length (list 1)) != 1"
);
@@ -382,8 +383,8 @@ static_assert(
std::is_same<
tav::Size<2>,
tav::Length<
- tav::List<tav::Int<1>, tav::Int<2>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>>
+ >
>::value,
"(length (list 1 2)) != 2"
);
@@ -395,8 +396,8 @@ static_assert(
tav::Int<1>,
tav::Nth<
tav::Size<0>,
- tav::List<tav::Int<1>>::type
- >::type
+ tav::List<tav::Int<1>>
+ >
>::value,
"(nth 0 (list 1)) != 1"
);
@@ -406,8 +407,8 @@ static_assert(
tav::Int<1>,
tav::Nth<
tav::Size<0>,
- tav::List<tav::Int<1>, tav::Int<2>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>>
+ >
>::value,
"(nth 0 (list 1 2)) != 1"
);
@@ -417,8 +418,8 @@ static_assert(
tav::Int<2>,
tav::Nth<
tav::Size<1>,
- tav::List<tav::Int<1>, tav::Int<2>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>>
+ >
>::value,
"(nth 1 (list 1 2)) != 2"
);
@@ -426,7 +427,7 @@ static_assert(
static_assert(
std::is_same<
tav::Int<1>,
- tav::First<tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type>
+ tav::First<tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>>
>::value,
"(first (list 1 2 3)) != 1"
);
@@ -434,7 +435,7 @@ static_assert(
static_assert(
std::is_same<
tav::Int<2>,
- tav::Second<tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type>
+ tav::Second<tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>>
>::value,
"(second (list 1 2 3)) != 2"
);
@@ -442,7 +443,7 @@ static_assert(
static_assert(
std::is_same<
tav::Int<3>,
- tav::Third<tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type>
+ tav::Third<tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>>
>::value,
"(third (list 1 2 3)) != 3"
);
@@ -451,33 +452,33 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Int<1>>::type,
+ tav::List<tav::Int<1>>,
tav::Take<
tav::Size<1>,
- tav::List<tav::Int<1>, tav::Int<2>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>>
+ >
>::value,
"(take 1 (list 1 2)) != (list 1)"
);
static_assert(
std::is_same<
- tav::List<tav::Int<1>, tav::Int<2>>::type,
+ tav::List<tav::Int<1>, tav::Int<2>>,
tav::Take<
tav::Size<2>,
- tav::List<tav::Int<1>, tav::Int<2>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>>
+ >
>::value,
"(take 2 (list 1 2)) != (list 1 2)"
);
static_assert(
std::is_same<
- tav::List<tav::Int<1>, tav::Int<2>>::type,
+ tav::List<tav::Int<1>, tav::Int<2>>,
tav::Take<
tav::Size<3>,
- tav::List<tav::Int<1>, tav::Int<2>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>>
+ >
>::value,
"(take 3 (list 1 2)) != (list 1 2)"
);
@@ -486,11 +487,11 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Int<2>>::type,
+ tav::List<tav::Int<2>>,
tav::Drop<
tav::Size<1>,
- tav::List<tav::Int<1>, tav::Int<2>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>>
+ >
>::value,
"(drop 1 (list 1 2)) != (list 2)"
);
@@ -500,8 +501,8 @@ static_assert(
void,
tav::Drop<
tav::Size<2>,
- tav::List<tav::Int<1>, tav::Int<2>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>>
+ >
>::value,
"(drop 2 (list 1 2)) != void"
);
@@ -511,8 +512,8 @@ static_assert(
void,
tav::Drop<
tav::Size<3>,
- tav::List<tav::Int<1>, tav::Int<2>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>>
+ >
>::value,
"(drop 3 (list 1 2)) != void"
);
@@ -521,22 +522,22 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Int<1>, tav::Int<2>>::type,
+ tav::List<tav::Int<1>, tav::Int<2>>,
tav::Append<
- tav::List<tav::Int<1>>::type,
- tav::List<tav::Int<2>>::type
- >::type
+ tav::List<tav::Int<1>>,
+ tav::List<tav::Int<2>>
+ >
>::value,
"(append (list 1) (list 2)) != (list 1 2)"
);
static_assert(
std::is_same<
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>, tav::Int<4>>::type,
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>, tav::Int<4>>,
tav::Append<
- tav::List<tav::Int<1>, tav::Int<2>>::type,
- tav::List<tav::Int<3>, tav::Int<4>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>>,
+ tav::List<tav::Int<3>, tav::Int<4>>
+ >
>::value,
"(append (list 1 2) (list 3 4)) != (list 1 2 3 4)"
);
@@ -549,8 +550,8 @@ static_assert(
tav::Fold<
tav::Add,
tav::Int<0>,
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
+ >
>::value,
"(fold + 0 (list 1 2 3)) != 6"
);
@@ -562,11 +563,11 @@ using quadruple = tav::Multiply<tav::Int<4>, Element>;
static_assert(
std::is_same<
- tav::List<tav::Int<4>, tav::Int<8>, tav::Int<12>>::type,
+ tav::List<tav::Int<4>, tav::Int<8>, tav::Int<12>>,
tav::Map<
quadruple,
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
+ >
>::value,
"(map quadruple (list 1 2 3)) != (list 4 8 12)"
);
@@ -575,11 +576,11 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Int<1>, tav::Int<3>>::type,
+ tav::List<tav::Int<1>, tav::Int<3>>,
tav::Filter<
tav::Odd,
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
+ >
>::value,
"(filter odd? (list 1 2 3)) != (list 1 3)"
);
@@ -588,11 +589,11 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Int<1>, tav::Int<3>>::type,
+ tav::List<tav::Int<1>, tav::Int<3>>,
tav::Remove<
tav::Even,
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
+ >
>::value,
"(remove even? (list 1 2 3)) != (list 1 3)"
);
@@ -601,22 +602,22 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Int<1>, tav::Int<3>>::type,
+ tav::List<tav::Int<1>, tav::Int<3>>,
tav::Delete<
tav::Int<2>,
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
+ >
>::value,
"(delete 2 (list 1 2 3)) != (list 1 3)"
);
static_assert(
std::is_same<
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type,
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>,
tav::Delete<
tav::Int<4>,
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
+ >
>::value,
"(delete 4 (list 1 2 3)) != (list 1 2 3)"
);
@@ -625,11 +626,11 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Int<1>, tav::Int<3>>::type,
+ tav::List<tav::Int<1>, tav::Int<3>>,
tav::DeleteNth<
tav::Size<1>,
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
+ >
>::value,
"(delete-nth 1 (list 1 2 3)) != (list 1 3)"
);
@@ -639,13 +640,13 @@ static_assert(
static_assert(
std::is_same<
tav::Pair<
- tav::List<tav::Int<1>, tav::Int<3>>::type,
- tav::List<tav::Int<2>>::type
+ tav::List<tav::Int<1>, tav::Int<3>>,
+ tav::List<tav::Int<2>>
>,
tav::Partition<
tav::Odd,
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
+ >
>::value,
"(partition odd? (list 1 2 3)) != [(list 1 3) (list 2)]"
);
@@ -654,10 +655,10 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Int<3>, tav::Int<2>, tav::Int<1>>::type,
+ tav::List<tav::Int<3>, tav::Int<2>, tav::Int<1>>,
tav::Reverse<
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
+ >
>::value,
"(reverse (list 1 2 3)) != (list 3 2 1)"
);
@@ -669,8 +670,8 @@ static_assert(
tav::Boolean<true>,
tav::Any<
tav::Odd,
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
+ >
>::value,
"(any odd? (list 1 2 3)) != #t"
);
@@ -680,8 +681,8 @@ static_assert(
tav::Boolean<false>,
tav::Any<
tav::Odd,
- tav::List<tav::Int<2>, tav::Int<4>, tav::Int<6>>::type
- >::type
+ tav::List<tav::Int<2>, tav::Int<4>, tav::Int<6>>
+ >
>::value,
"(any odd? (list 2 4 6)) != #f"
);
@@ -691,8 +692,8 @@ static_assert(
tav::Boolean<true>,
tav::All<
tav::Even,
- tav::List<tav::Int<2>, tav::Int<4>, tav::Int<6>>::type
- >::type
+ tav::List<tav::Int<2>, tav::Int<4>, tav::Int<6>>
+ >
>::value,
"(all even? (list 2 4 6)) != #t"
);
@@ -702,8 +703,8 @@ static_assert(
tav::Boolean<false>,
tav::All<
tav::Odd,
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
+ >
>::value,
"(all odd? (list 1 2 3)) != #f"
);
@@ -713,8 +714,8 @@ static_assert(
tav::Boolean<true>,
tav::None<
tav::Even,
- tav::List<tav::Int<1>, tav::Int<3>, tav::Int<5>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<3>, tav::Int<5>>
+ >
>::value,
"(none even? (list 1 3 5)) != #t"
);
@@ -724,8 +725,8 @@ static_assert(
tav::Boolean<false>,
tav::None<
tav::Even,
- tav::List<tav::Int<2>, tav::Int<3>, tav::Int<5>>::type
- >::type
+ tav::List<tav::Int<2>, tav::Int<3>, tav::Int<5>>
+ >
>::value,
"(none even? (list 2 3 5)) != #f"
);
@@ -737,8 +738,8 @@ static_assert(
tav::Boolean<true>,
tav::Contains<
tav::Int<2>,
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
+ >
>::value,
"(contains 2 (list 1 2 3)) != #t"
);
@@ -748,8 +749,8 @@ static_assert(
tav::Boolean<false>,
tav::Contains<
tav::Int<0>,
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
+ >
>::value,
"(contains 0 (list 1 2 3)) != #f"
);
@@ -758,14 +759,14 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>, tav::Int<4>, tav::Int<5>, tav::Int<6>>::type,
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>, tav::Int<4>, tav::Int<5>, tav::Int<6>>,
tav::Concatenate<
tav::List<
- tav::List<tav::Int<1>, tav::Int<2>>::type,
- tav::List<tav::Int<3>>::type,
- tav::List<tav::Int<4>, tav::Int<5>, tav::Int<6>>::type
- >::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>>,
+ tav::List<tav::Int<3>>,
+ tav::List<tav::Int<4>, tav::Int<5>, tav::Int<6>>
+ >
+ >
>::value,
"(concatenate (list (list 1 2) (list 3) (list 4 5 6))) != (list 1 2 3 4 5 6)"
);
@@ -774,48 +775,48 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Int<1>>::type,
+ tav::List<tav::Int<1>>,
tav::Iota<
tav::Size<1>,
tav::Int<1>,
tav::Int<1>
- >::type
+ >
>::value,
"(iota 1 1 1) != (list 1)"
);
static_assert(
std::is_same<
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type,
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>,
tav::Iota<
tav::Size<3>,
tav::Int<1>,
tav::Int<1>
- >::type
+ >
>::value,
"(iota 3 1 1) != (list 1 2 3)"
);
static_assert(
std::is_same<
- tav::List<tav::Int<0>, tav::Int<2>, tav::Int<4>, tav::Int<6>, tav::Int<8>>::type,
+ tav::List<tav::Int<0>, tav::Int<2>, tav::Int<4>, tav::Int<6>, tav::Int<8>>,
tav::Iota<
tav::Size<5>,
tav::Int<0>,
tav::Int<2>
- >::type
+ >
>::value,
"(iota 5 0 2) != (list 0 2 4 6 8)"
);
static_assert(
std::is_same<
- tav::List<tav::Int<5>, tav::Int<4>, tav::Int<3>, tav::Int<2>, tav::Int<1>>::type,
+ tav::List<tav::Int<5>, tav::Int<4>, tav::Int<3>, tav::Int<2>, tav::Int<1>>,
tav::Iota<
tav::Size<5>,
tav::Int<5>,
tav::Int<-1>
- >::type
+ >
>::value,
"(iota 5 5 -1) != (list 5 4 3 2 1)"
);
@@ -824,16 +825,16 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Int<42>>::type,
- tav::MakeList<tav::Size<1>, tav::Int<42>>::type
+ tav::List<tav::Int<42>>,
+ tav::MakeList<tav::Size<1>, tav::Int<42>>
>::value,
"(make-list 1 42) != (list 42)"
);
static_assert(
std::is_same<
- tav::List<tav::Int<42>, tav::Int<42>, tav::Int<42>>::type,
- tav::MakeList<tav::Size<3>, tav::Int<42>>::type
+ tav::List<tav::Int<42>, tav::Int<42>, tav::Int<42>>,
+ tav::MakeList<tav::Size<3>, tav::Int<42>>
>::value,
"(make-list 3 42) != (list 42 42 42)"
);
@@ -842,11 +843,11 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Size<0>, tav::Size<1>, tav::Size<4>, tav::Size<9>>::type,
+ tav::List<tav::Size<0>, tav::Size<1>, tav::Size<4>, tav::Size<9>>,
tav::ListTabulate<
tav::Size<4>,
tav::Square
- >::type
+ >
>::value,
"(list-tabulate 4 square) != (list 0 1 4 9)"
);
@@ -858,8 +859,8 @@ static_assert(
tav::Size<2>,
tav::Count<
tav::Odd,
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>
+ >
>::value,
"(count odd? (list 1 2 3)) != 2"
);
@@ -869,8 +870,8 @@ static_assert(
tav::Size<0>,
tav::Count<
tav::Even,
- tav::List<tav::Int<1>, tav::Int<3>, tav::Int<5>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<3>, tav::Int<5>>
+ >
>::value,
"(count even? (list 1 3 5)) != 0"
);
@@ -882,8 +883,8 @@ static_assert(
tav::Int<4>,
tav::Find<
tav::Even,
- tav::List<tav::Int<1>, tav::Int<3>, tav::Int<4>, tav::Int<6>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<3>, tav::Int<4>, tav::Int<6>>
+ >
>::value,
"(find even? (list 1 3 4 6)) != 4"
);
@@ -893,8 +894,8 @@ static_assert(
tav::Int<6>,
tav::Find<
tav::Even,
- tav::List<tav::Int<1>, tav::Int<3>, tav::Int<5>, tav::Int<6>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<3>, tav::Int<5>, tav::Int<6>>
+ >
>::value,
"(find even? (list 1 3 5 6)) != 6"
);
@@ -904,8 +905,8 @@ static_assert(
tav::Boolean<false>,
tav::Find<
tav::Even,
- tav::List<tav::Int<1>, tav::Int<3>, tav::Int<5>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<3>, tav::Int<5>>
+ >
>::value,
"(find even? (list 1 3 5)) != #f"
);
@@ -914,22 +915,22 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Int<2>, tav::Int<4>>::type,
+ tav::List<tav::Int<2>, tav::Int<4>>,
tav::TakeWhile<
tav::Even,
- tav::List<tav::Int<2>, tav::Int<4>, tav::Int<5>, tav::Int<6>>::type
- >::type
+ tav::List<tav::Int<2>, tav::Int<4>, tav::Int<5>, tav::Int<6>>
+ >
>::value,
"(take-while even? (list 2 4 5 6)) != (list 2 4)"
);
static_assert(
std::is_same<
- tav::List<tav::Int<2>, tav::Int<4>, tav::Int<6>>::type,
+ tav::List<tav::Int<2>, tav::Int<4>, tav::Int<6>>,
tav::TakeWhile<
tav::Even,
- tav::List<tav::Int<2>, tav::Int<4>, tav::Int<6>>::type
- >::type
+ tav::List<tav::Int<2>, tav::Int<4>, tav::Int<6>>
+ >
>::value,
"(take-while even? (list 2 4 6)) != (list 2 4 6)"
);
@@ -939,8 +940,8 @@ static_assert(
void,
tav::TakeWhile<
tav::Odd,
- tav::List<tav::Int<2>, tav::Int<4>, tav::Int<5>, tav::Int<6>>::type
- >::type
+ tav::List<tav::Int<2>, tav::Int<4>, tav::Int<5>, tav::Int<6>>
+ >
>::value,
"(take-while odd? (list 2 4 5 6)) != void"
);
@@ -949,22 +950,22 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Int<5>, tav::Int<6>>::type,
+ tav::List<tav::Int<5>, tav::Int<6>>,
tav::DropWhile<
tav::Even,
- tav::List<tav::Int<2>, tav::Int<4>, tav::Int<5>, tav::Int<6>>::type
- >::type
+ tav::List<tav::Int<2>, tav::Int<4>, tav::Int<5>, tav::Int<6>>
+ >
>::value,
"(drop-while even? (list 2 4 5 6)) != (list 5 6)"
);
static_assert(
std::is_same<
- tav::List<tav::Int<2>, tav::Int<4>, tav::Int<6>>::type,
+ tav::List<tav::Int<2>, tav::Int<4>, tav::Int<6>>,
tav::DropWhile<
tav::Odd,
- tav::List<tav::Int<2>, tav::Int<4>, tav::Int<6>>::type
- >::type
+ tav::List<tav::Int<2>, tav::Int<4>, tav::Int<6>>
+ >
>::value,
"(drop-while odd? (list 2 4 6)) != (list 2 4 6)"
);
@@ -974,8 +975,8 @@ static_assert(
void,
tav::DropWhile<
tav::Even,
- tav::List<tav::Int<2>, tav::Int<4>, tav::Int<6>>::type
- >::type
+ tav::List<tav::Int<2>, tav::Int<4>, tav::Int<6>>
+ >
>::value,
"(drop-while even? (list 2 4 6)) != void"
);
@@ -984,33 +985,33 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>::type,
+ tav::List<tav::Int<1>, tav::Int<2>, tav::Int<3>>,
tav::Sort<
tav::GreaterThan,
- tav::List<tav::Int<3>, tav::Int<2>, tav::Int<1>>::type
- >::type
+ tav::List<tav::Int<3>, tav::Int<2>, tav::Int<1>>
+ >
>::value,
"(sort > (list 3 2 1)) != (list 1 2 3)"
);
static_assert(
std::is_same<
- tav::List<tav::Int<3>, tav::Int<2>, tav::Int<1>>::type,
+ tav::List<tav::Int<3>, tav::Int<2>, tav::Int<1>>,
tav::Sort<
tav::LowerThan,
- tav::List<tav::Int<1>, tav::Int<3>, tav::Int<2>>::type
- >::type
+ tav::List<tav::Int<1>, tav::Int<3>, tav::Int<2>>
+ >
>::value,
"(sort < (list 1 3 2)) != (list 3 2 1)"
);
static_assert(
std::is_same<
- tav::Iota<tav::Size<42>, tav::Int<1>, tav::Int<1>>::type,
+ tav::Iota<tav::Size<42>, tav::Int<1>, tav::Int<1>>,
tav::Sort<
tav::GreaterThan,
- tav::Iota<tav::Size<42>, tav::Int<42>, tav::Int<-1>>::type
- >::type
+ tav::Iota<tav::Size<42>, tav::Int<42>, tav::Int<-1>>
+ >
>::value,
"(sort > (iota 42 42 -1)) != (iota 42 1 1)"
);
@@ -1033,15 +1034,15 @@ static_assert(
static_assert(
std::is_same<
- tav::List<tav::Int<10>, tav::Int<12>, tav::Int<14>>::type,
+ tav::List<tav::Int<10>, tav::Int<12>, tav::Int<14>>,
tav::Map<
tav::Apply<
tav::Add,
tav::_0,
tav::Int<10>
>::function,
- tav::List<tav::Int<0>, tav::Int<2>, tav::Int<4>>::type
- >::type
+ tav::List<tav::Int<0>, tav::Int<2>, tav::Int<4>>
+ >
>::value,
"(map (lambda (x) (+ x 10)) (list 0 2 4)) != (list 10 12 14)"
);