|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2007-09-01 15:52:30
on Sat Sep 01 2007, Chris Lattner <clattner-AT-apple.com> wrote:
> David's characterization is somewhat correct, but is also a bit
> simplistic. The LLVM project does certainly use templates (including
> partial specialization etc), but we prefer to keep this as an
> implementation detail in a library. Exposing "complex" template code
> through the public interface of a library generally make the library
> "scary" to those developers who don't consider themselves to be C++
> gurus. This design point also reduces build time for the LLVM code
> itself.
If you're building this framework as a bunch of libraries, that means
expressivity at all kinds of boundaries that would be strictly
"internal" in a monolithic compiler will be limited by your idea of
what may scare people. Are you sure this constraint is a good idea?
Seems likely there are good reasons to templatize a lexer and lots of
other components in a C++ compiler.
-- 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