<feed xmlns='http://www.w3.org/2005/Atom'>
<title>TypeAsValue/example/prime, branch master</title>
<subtitle>C++ compile time computation library using types as values and templates as functions</subtitle>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/TypeAsValue/'/>
<entry>
<title>Moved class-based implementations into `detail` namespace</title>
<updated>2015-02-15T13:07:50+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-02-15T13:07:50+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/TypeAsValue/commit/?id=46e174935b122c0da4b51532a7f683a512eeaf65'/>
<id>46e174935b122c0da4b51532a7f683a512eeaf65</id>
<content type='text'>
* 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduced `Eval` function evaluation helper</title>
<updated>2015-02-14T09:43:49+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-02-14T09:43:49+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/TypeAsValue/commit/?id=e24f25ada7e8f48dc35cb235e045a4324bccb4f2'/>
<id>e24f25ada7e8f48dc35cb235e045a4324bccb4f2</id>
<content type='text'>
* replaces `typename *::type` constructs with `Eval` applications
* aims to further unify function evaluation
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* replaces `typename *::type` constructs with `Eval` applications
* aims to further unify function evaluation
</pre>
</div>
</content>
</entry>
<entry>
<title>Renamed `Apply`'s template alias to `function`</title>
<updated>2015-02-13T20:54:48+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-02-13T20:54:48+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/TypeAsValue/commit/?id=73680466149c7aad21de558b7acc11dfa05183d2'/>
<id>73680466149c7aad21de558b7acc11dfa05183d2</id>
<content type='text'>
* `type` is used to represent evaluation of a template
* accessing the `function` doesn't evaluate it as it is the template itself
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* `type` is used to represent evaluation of a template
* accessing the `function` doesn't evaluate it as it is the template itself
</pre>
</div>
</content>
</entry>
<entry>
<title>Added `Is` prefix to `EqualValue` and `EqualType`</title>
<updated>2015-02-12T12:36:27+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-02-12T12:36:27+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/TypeAsValue/commit/?id=4bb200de716891ed6c9fc182311c02685c8bdfd4'/>
<id>4bb200de716891ed6c9fc182311c02685c8bdfd4</id>
<content type='text'>
* analogously to `IsPair`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* analogously to `IsPair`
</pre>
</div>
</content>
</entry>
<entry>
<title>Revamped partial function application</title>
<updated>2015-02-12T09:16:54+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-02-12T09:16:54+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/TypeAsValue/commit/?id=ad27a79a2e6bc380e68ec77ae961917a9fb402d3'/>
<id>ad27a79a2e6bc380e68ec77ae961917a9fb402d3</id>
<content type='text'>
* moved internals into separate header i.e. the `detail` namespace relating to `Apply`
* implemented automatic alias selection by implementing aliae of the basic variadic `type` template alias in different base classes
** variadic partial application is implemented in `detail::apply_variadic`
*** `detail::apply_single` and `detail::apply_pair` define aliae to `detail::apply_variadic`'s `type` template alias
*** both restricted aliae derive from `detail::apply_variadic`
** `Apply` derives from any of the aliae defining base classes depending on the count of placeholders as determined by `detail::count_placeholders`
*** `Apply` is guaranteed to always be derived from `detail::apply_variadic` one way or the other
* changed functions, test cases and examples depending on `Apply` accordingly
** `Length` had to be reimplemented without `Apply` as it doesn't allow usage of aliae expecting a different count of arguments anymore
*** this is a advantage in the sense that core functionality of _TypeAsValue_ now doesn't depend on this complex partial application implementation anymore
*** such functionality may be reimplemented separately from `Apply`
* removed unnecessary `tav` namespace prefixes
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* moved internals into separate header i.e. the `detail` namespace relating to `Apply`
* implemented automatic alias selection by implementing aliae of the basic variadic `type` template alias in different base classes
** variadic partial application is implemented in `detail::apply_variadic`
*** `detail::apply_single` and `detail::apply_pair` define aliae to `detail::apply_variadic`'s `type` template alias
*** both restricted aliae derive from `detail::apply_variadic`
** `Apply` derives from any of the aliae defining base classes depending on the count of placeholders as determined by `detail::count_placeholders`
*** `Apply` is guaranteed to always be derived from `detail::apply_variadic` one way or the other
* changed functions, test cases and examples depending on `Apply` accordingly
** `Length` had to be reimplemented without `Apply` as it doesn't allow usage of aliae expecting a different count of arguments anymore
*** this is a advantage in the sense that core functionality of _TypeAsValue_ now doesn't depend on this complex partial application implementation anymore
*** such functionality may be reimplemented separately from `Apply`
* removed unnecessary `tav` namespace prefixes
</pre>
</div>
</content>
</entry>
<entry>
<title>Added _Scheme_ variant of prime example as documentation</title>
<updated>2015-02-08T13:54:01+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-02-08T13:54:01+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/TypeAsValue/commit/?id=3feb8a168075c4007fc466a0a4353e62e69d9802'/>
<id>3feb8a168075c4007fc466a0a4353e62e69d9802</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revamped to use `Cons` as a function and `Pair` as its result</title>
<updated>2015-02-06T18:26:26+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-02-06T18:26:26+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/TypeAsValue/commit/?id=27aaee43499c268903332c7e9e1e6ec2d193dc3a'/>
<id>27aaee43499c268903332c7e9e1e6ec2d193dc3a</id>
<content type='text'>
* 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Reimplemented `removeMultiplesOf` in terms of a partial function application</title>
<updated>2015-02-05T12:54:01+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-02-05T12:54:01+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/TypeAsValue/commit/?id=d546e0d1172ee138971ced523a97121b495a7ba1'/>
<id>d546e0d1172ee138971ced523a97121b495a7ba1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Implemented the Sieve of Eratosthenes as a basic example</title>
<updated>2015-02-04T16:38:49+00:00</updated>
<author>
<name>Adrian Kummerlaender</name>
</author>
<published>2015-02-04T16:38:49+00:00</published>
<link rel='alternate' type='text/html' href='http://code.kummerlaender.eu/TypeAsValue/commit/?id=7eef405eeff59c27691be294906e8381a76771e2'/>
<id>7eef405eeff59c27691be294906e8381a76771e2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
