Boost logo

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