Feedback request 3 - Namespaces

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Feedback request 3 - Namespaces

Luigi Ballabio-2
Hi all,
     part 3 of 3 in a feedback-request frenzy:

               Calvera:  No, come on, tell me why.
               Vin:      It's like this fellow I knew in El Paso. One day, he
                         just took all his clothes off and jumped in a mess of
                         cactus. I asked him that same question, "Why?"
               Calvera:  And?
               Vin:      He said, "It seemed like a good idea at the time."

                                                     --- The Magnificent Seven

Now that I'm older and wiser and more often cross-coding between different
directories (typically, one writes an instrument, its pricing engine, and
possibly a path pricer, and uses stuff from some other place in the
repository) sub-namespaces such as QuantLib::Instruments or
QuantLib::PricingEngines tend to get a lot in my way. Have they ever been
useful? How about ditching them and flattening the thing to the single
QuantLib namespace? We can do it in a conservative way in a couple of
releases (in the first, we flatten the namespace, we leave aliases to the
old sub-namespaces around so that it's not an error if one uses them, and
we deprecate them; in the second, we kill them.)

Note: I'm not proposing to reorganize the directory structure of the
repository, even though they reflect each other at this time. We do need
the organization at the file level---we just don't need it to get in the
way while coding.

Let me know what you think.

Later,
        Luigi