Terje Slettebų <[EMAIL PROTECTED]> writes:

>>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).

I just got finished saying that we'd like to avoid anything which does
primarily numerical computation.

>
> "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.

Of course.  We just want the example to have most of the attractive
properties of "hello, world" that I listed in my first paragraph.

-- 
                       David Abrahams
   [EMAIL PROTECTED] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution

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

Reply via email to