>From: "David Abrahams" <[EMAIL PROTECTED]>

> Aleksey and I are trying to think of a simple metaprogramming
> problem which we could use as a sort of "Hello World" example for
> the MPL.  This seems to be a rather hard problem.  Aside from being
> short, a C++ "hello, world" introduces only two library components,
> cout and endl (three if you count operator<<), the problem it
> solves, "printing something", is most programmers will want to do,
> and it gives a small rush of excitement when you see it work.
>
> However, it's hard to "see a metaprogram work" except by
> error/warning, and it's hard to demonstrate much of any practical
> use with a very small number of library components.  Some of the
> simplest jobs involve numerical computation at compile-time, but I
> don't really want to show that right off the bat because:
>
>   a) of the syntactic/mental overhead of using the type wrappers
>
>   b) The eye is easily confused by code which mixes placeholders (e.g.
>      "_1") in expressions with numeric constants (e.g. "2").
>
> Thoughts?

How about implementing one of the "classic" metaprograms, such as factorial,
or prime number finding (in credit to Erwin Unruh, who had a compile-time
prime number program as one of the first ever metaprograms in C++. :) ),
using MPL idioms? The results don't necessarily have to be printed out at
compile-time (Erwin Unruh printed the results using compiler-warnings, but
that is of course highly implementation dependent).

"Hello, world" in compile-time programming doesn't necessarily have to be
the same kind of program as in run-time programming, since the way it works
is different.


Regards,

Terje

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to