Re: Front-end
John Moeller <[email protected]>
| Newsgroups | gmane.comp.lib.boost.langbinding |
|---|---|
| Message-ID | <[email protected]> |
David Abrahams wrote:
> on Sat Jun 30 2007, John Moeller <fishcorn-AT-gmail.com> wrote:
>
>> Daniel Wallin wrote:
>>> John Moeller wrote:
>>>> I was wondering about the front-end a little bit, and since it would be
>>>> essentially a DSEL, has any thought been given toward using Proto for
>>>> the Langbinding front-end?
>>> I don't know which DSEL you're thinking of.
>> The class_<>, def(), etc. It's a DSEL that describes a class.
>>
>>> IIRC we use type erasure
>>> everywhere, in which case proto won't help.
>> Type erasure. That's the term I was looking for, thank you. :)
>>
>> There's only type erasure (AFAICT) at the point where xxx binds. Tuple
>> transformations and other compile-time operations are used internally in
>> langbinding. All I'm saying is that it may be useful. If you don't
>> think so, so be it.
>
> It would be useful if we needed to statically generate
> language-specific bindings from the user's binding code. However,
> it's our hope to avoid that.
Ok. I'll try to invent another use for proto outside langbinding. It's
just so neat!
>> Additionally, I've been wondering if type erasure is strictly necessary
>> anyway. A while back, you and Dave had discussed a system where static
>> type information was utilized.
>
> Static type information will always be "utilized."
Hm. That was vague, wasn't it? Let me modify that to say, "utilized to
determine xxx argument types." I see now that that goes against the
"compile-once-bind-anywhere" idea.
>> It seems that the idea of static converter generators was abandoned
>> in favor of type erasure, but I wasn't able to discern why.
>
> It enables us to have a single compiled front-end language binding
> that can be used with any number of backend languages.
That makes sense.
Ugh. The "frontend"/"backend" thing is making me dizzy. I tried to
come up with alternatives ("native" to replace "frontend", for example),
but I couldn't think of any role-independent terms for backend languages.
>> That's the point that I was trying to get at in my other post. I
>> wanted to revisit the issue, if possible.
>
> I don't think it's possible to get any advantage out of keeping more
> static information around... but I still have to get to your other
> posts ;-)
Ok. Sorry if I sounded urgent. :-) I know that it takes time.
>>> We might have some parts
>>> that doesn't use type erasure, like the policy specification syntax, but
>>> I don't think we'd want to do any tree transformations on that anyway..
>> Policy specification syntax? Are you referring to something in
>> Boost.Python or in Luabind?
>
> Something proposed for Langbinding.
Cool! Let's get it codified. :-) Was that one of the discussions I
found in the archives, and I just didn't absorb it? And by "policy" do
you mean Alexandrescu-like policies, or something else? I know there
was a debate over the term "policy."
--
John Moeller
[email protected]
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/