Hi Jim, Sorry this is so late. Sick, work, sick, work... you know how it can be.
on Sun Jan 15 2012, Jim Bosch <talljimbo-AT-gmail.com> wrote: > I've been trying to wrap my head around some Boost.Langbinding > concepts as part of my (slow, but not dead) work on an eventual > Boost.Python v3. I've got some questions - and if there are others who > I should be sending this email to, please let me know and/or forward. Yeah, you should send it to the langbinding list and/or Cc: Daniel Wallin. > As I understand it, the basic idea is: > > 1) We build a language-agnostic front-end "module definition" data > structure that gets stored in a static object. I don't know what you mean by "static object," but the rest is dead on. > 2) That data structure hides all the type information somehow Hides it at compile-time; represents it at runtime. > - I'm imagining a polymorphic non-template base class with templated > derived classes, or something equivalent. But I get the sense that > this may be an incorrect assumption. I don't know why; sounds like a classic type erasure pattern. > 3) We pass in a target-language-specific "module builder" to the > "module definition", which goes through itself and calls visit member > functions on the "module builder", which in turn creates the > target-language wrapper. That sounds right. > I can see, roughly, how this would work if there's only one module > builder class (i.e. one target language). The polymorphic classes in > the module definition would have virtual functions that just take a > module_builder instance, and then they can call templated visit member > functions on the module_builder. > > But I don't think that model is what was intended - it doesn't scale > well to multiple target languages, In what way? > and it doesn't explain why the module_builder classes in the proposal > (I'm looking here: http://www.boostpro.com/writing/oopsla04.html) use > CRTP. -- Dave Abrahams BoostPro Computing http://www.boostpro.com _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig