Age | Commit message (Collapse) | Author |
|
* continuation of 8e49cc6f8f
|
|
* while class templates enable e.g. hiding implementation details they also require evaluation via `Eval`
** this clutters up the actual logic and is now hidden behind aliae that perform the evaluation
|
|
* replaces `typename *::type` constructs with `Eval` applications
* aims to further unify function evaluation
|
|
* 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
|
|
* `Cons` is a straigth forward type _pair_ containing `car` and `cdr` typedefs
** they may be accessed using `Car` and `Cdr` helper template aliases
** there is no enforcement of _Cons_ structure and type equality whatsoever
*** i.e. similar to Scheme and different from how it is implemented in _ConstList_
* `List` is a recursive variadic helper template for constructing `Cons` value types
** simplifies _Cons_ construction and may be expanded to offer type deduction and built upon to enforce type equality
* added appropriate test cases
|