|
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