aboutsummaryrefslogtreecommitdiff
path: root/test.cc
diff options
context:
space:
mode:
authorAdrian Kummerlaender2015-02-06 19:26:26 +0100
committerAdrian Kummerlaender2015-02-06 19:26:26 +0100
commit27aaee43499c268903332c7e9e1e6ec2d193dc3a (patch)
treefcd6a361aa5ce6a9c095f496886807f87af85ea0 /test.cc
parent1e0528b1a870e0e0f2b15f468fc60f80e5fc20b3 (diff)
downloadTypeAsValue-27aaee43499c268903332c7e9e1e6ec2d193dc3a.tar
TypeAsValue-27aaee43499c268903332c7e9e1e6ec2d193dc3a.tar.gz
TypeAsValue-27aaee43499c268903332c7e9e1e6ec2d193dc3a.tar.bz2
TypeAsValue-27aaee43499c268903332c7e9e1e6ec2d193dc3a.tar.lz
TypeAsValue-27aaee43499c268903332c7e9e1e6ec2d193dc3a.tar.xz
TypeAsValue-27aaee43499c268903332c7e9e1e6ec2d193dc3a.tar.zst
TypeAsValue-27aaee43499c268903332c7e9e1e6ec2d193dc3a.zip
Revamped to use `Cons` as a function and `Pair` as its result
* this is analogous to _Scheme_ where a pair (dot-expression) is returned from a call to `cons` * `Head` and `Tail` are kept as direct references to the `CAR` and `CDR` values of a pair to match e.g. the math operators
Diffstat (limited to 'test.cc')
-rw-r--r--test.cc28
1 files changed, 14 insertions, 14 deletions
diff --git a/test.cc b/test.cc
index da3193f..9037e25 100644
--- a/test.cc
+++ b/test.cc
@@ -189,8 +189,8 @@ static_assert(
std::is_same<
tav::Int<1>,
tav::Car<
- tav::Cons<tav::Int<1>, void>
- >
+ tav::Cons<tav::Int<1>, void>::type
+ >::type
>::value,
"(car (cons 1 void)) != 1"
);
@@ -199,8 +199,8 @@ static_assert(
std::is_same<
tav::Int<1>,
tav::Car<
- tav::Cons<tav::Int<1>, tav::Int<2>>
- >
+ tav::Cons<tav::Int<1>, tav::Int<2>>::type
+ >::type
>::value,
"(car (cons 1 2)) != 1"
);
@@ -209,8 +209,8 @@ static_assert(
std::is_same<
tav::Int<2>,
tav::Cdr<
- tav::Cons<tav::Int<1>, tav::Int<2>>
- >
+ tav::Cons<tav::Int<1>, tav::Int<2>>::type
+ >::type
>::value,
"(cdr (cons 1 2)) != 2"
);
@@ -220,9 +220,9 @@ static_assert(
tav::Int<2>,
tav::Car<
tav::Cdr<
- tav::Cons<tav::Int<1>, tav::Cons<tav::Int<2>, tav::Int<3>>>
- >
- >
+ tav::Cons<tav::Int<1>, tav::Cons<tav::Int<2>, tav::Int<3>>::type>::type
+ >::type
+ >::type
>::value,
"(car (cdr (cons 1 (cons 2 3)))) != 2"
);
@@ -231,7 +231,7 @@ static_assert(
static_assert(
std::is_same<
- tav::Cons<tav::Int<1>, void>,
+ tav::Pair<tav::Int<1>, void>,
tav::List<tav::Int<1>>::type
>::value,
"(list 1) != (cons 1 void)"
@@ -239,7 +239,7 @@ static_assert(
static_assert(
std::is_same<
- tav::Cons<tav::Int<1>, tav::Cons<tav::Int<2>, void>>,
+ tav::Pair<tav::Int<1>, tav::Pair<tav::Int<2>, void>>,
tav::List<tav::Int<1>, tav::Int<2>>::type
>::value,
"(list 1 2) != (cons 1 (cons 2 void))"
@@ -249,7 +249,7 @@ static_assert(
static_assert(
std::is_same<
- tav::Cons<tav::Int<1>, void>,
+ tav::Pair<tav::Int<1>, void>,
tav::ListOfType<int, 1>::type
>::value,
"(list 1) != (cons 1 void)"
@@ -257,7 +257,7 @@ static_assert(
static_assert(
std::is_same<
- tav::Cons<tav::Int<1>, tav::Cons<tav::Int<2>, void>>,
+ tav::Pair<tav::Int<1>, tav::Pair<tav::Int<2>, void>>,
tav::ListOfType<int, 1, 2>::type
>::value,
"(list 1 2) != (cons 1 (cons 2 void))"
@@ -463,7 +463,7 @@ static_assert(
static_assert(
std::is_same<
- tav::Cons<
+ tav::Pair<
tav::List<tav::Int<1>, tav::Int<3>>::type,
tav::List<tav::Int<2>>::type
>,