Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2007-09-02 14:34:29


on Sun Sep 02 2007, Chris Lattner <clattner-AT-apple.com> wrote:

>>>> You're serious? It's meaningless to lex UTF-32?
>>>
>>> It's not meaningless, but templatizing the entire lexer (which
>>> includes the preprocessor) is not necessarily the best way to achieve
>>> this.
>>
>> Granted. It was just the first example that popped into my head. My
>> point was simply that, if you're interested in creating a flexible
>> toolkit out of which people can build systems with the highest
>> efficiency, static polymorphism in its interfaces is a virtual (no pun
>> intended) necessity.
>
> I actually completely agree with you. :)
>
> The only (potentially unpopular on this list) issue is that "highest
> flexibility"

I only said "flexible."

> and "highest efficiency" are non-goals of LLVM and the clang
> front-end in general.

Oh, I got a different impression from watching the video.

> Instead, we aim for "high flexibility" and "high efficiency", which
> sometimes means that we make tradeoffs that benefit other pragmatic
> goals like "reasonable compilation time", "reasonable code size",
> etc.

Of course.

> Again, this does not mean that we avoid templates, and it doesn't
> mean we have no templated interfaces :).

Oh, I got a different impression from earlier messages in this thread.

> It just means that we will not templatize large amounts of code to
> get a 0.0001% speedup or to gain flexibility in a theoretical case
> that no one envisions happening.

I wouldn't do that either.

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com
The Astoria Seminar ==> http://www.astoriaseminar.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk