Re: [proto] for your review: intro to a series of blog posts about proto and phoenix v3

2010-08-12 Thread OvermindDL1
On Tue, Aug 10, 2010 at 8:49 AM, Eric Niebler  wrote:
> I'm going to write a series of posts about proto and phoenix3 for
> cpp-next.com. I have a draft of the first post up. It mentions
> expression templates, spirit, phoenix and proto. Please take a moment to
> look it over and tell me if I've flubbed anything. All feedback welcome.
>
> http://cpp-next.com/?p=1469&preview=true&preview_id=1469&public=1&nonce=5df036d616
>
> Thanks in advance,

I have been unable to see that post, says this:
"""
You do not have permission to publicly preview this post.
"""

And I am registered and logged in.
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] for your review: intro to a series of blog posts about proto and phoenix v3

2010-08-11 Thread Thomas Heller
On Tuesday 10 August 2010 17:21:53 Eric Niebler wrote:
> On 8/10/2010 11:14
AM, Robert Jones wrote:
> > Well, as a complete novice to code of this
sophistication I
> > understood that piece perfectly, as far as it goes.
Naturally, as the
> > opening piece of a series it raises far more questions
than it
> > answers.
> 
> That's great feedback, thank you.

To follow up, I
like it too!

> 
> > It also scares me somewhat. This stuff could mark an
absolute
> > explosion of complexity in the code your average jobbing
programmer
> > is expected to get to grips with, and in my experience the
technology
> > is already slipping from the grasp of most of us! When you
get this
> > stuff wrong, what do the error messages look like? Boost.Bind
&
> > Boost.Lambda errors are already enough to send most of us running
for
> > the hills,
> 
> A great point! (I've held back a whole rant about
how long template
> error messages are library bugs and should be filed as
such. That's a
> whole other blog post.) I sort of address this when I say
that a good
> dsel toolkit would force dsel authors to rigorously define
their dsels,
> leading to "better usage experiences". That's pretty vague,
though. I
> could be more explicit. But certainly the intention here is that
proto
> makes it easier for dsel authors to give their users more succinct
error
> messages.

I think this will greatly change when we have static
assert support on the majorities of compiler.

> > and tool support is
somewhat lacking as far as I know,
> > being pretty much limited to
STLFilt.
> > 
> > Maybe I'm just too long in the tooth for this!
> > 
> >
Still, great piece, and I look forward to subsequent installments.
> 
>
Thanks,

___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] for your review: intro to a series of blog posts about proto and phoenix v3

2010-08-10 Thread Eric Niebler
On 8/10/2010 8:31 PM, Joel de Guzman wrote:
> On 8/10/2010 10:49 PM, Eric Niebler wrote:
>> I'm going to write a series of posts about proto and phoenix3 for
>> cpp-next.com. I have a draft of the first post up. It mentions
>> expression templates, spirit, phoenix and proto. Please take a moment to
>> look it over and tell me if I've flubbed anything. All feedback welcome.
>>
>> http://cpp-next.com/?p=1469&preview=true&preview_id=1469&public=1&nonce=5df036d616
> 
> What can I say? Superbly written as typical of Eric :-) I can't
> wait to read more. How many of a series are you planning to write?

Thanks. I don't know how many. I've only written the one so far. But
there's a lot to say, so it might go on for a bit.

> (one minor thing: if you want to elide the prefix -, at least use
> int_ instead of uint_).

OK. I'll probably put back unary minus. Thanks,

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] for your review: intro to a series of blog posts about proto and phoenix v3

2010-08-10 Thread Joel de Guzman

On 8/10/2010 10:49 PM, Eric Niebler wrote:

I'm going to write a series of posts about proto and phoenix3 for
cpp-next.com. I have a draft of the first post up. It mentions
expression templates, spirit, phoenix and proto. Please take a moment to
look it over and tell me if I've flubbed anything. All feedback welcome.

http://cpp-next.com/?p=1469&preview=true&preview_id=1469&public=1&nonce=5df036d616


What can I say? Superbly written as typical of Eric :-) I can't
wait to read more. How many of a series are you planning to write?

(one minor thing: if you want to elide the prefix -, at least use
int_ instead of uint_).

Regards,
--
Joel de Guzman
http://www.boostpro.com
http://spirit.sf.net

___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] for your review: intro to a series of blog posts about proto and phoenix v3

2010-08-10 Thread Thomas Heller
On Tue, Aug 10, 2010 at 6:56 PM, Eric Niebler  wrote:
> On 8/10/2010 12:03 PM, Thomas Heller wrote:
>> On Tue, Aug 10, 2010 at 5:21 PM, Eric Niebler  wrote:
>>> On 8/10/2010 11:14 AM, Robert Jones wrote:
 When you get this
 stuff wrong, what do the error messages look like? Boost.Bind &
 Boost.Lambda errors are already enough to send most of us running for
 the hills,
>>>
>>> (I've held back a whole rant about how long template
>>> error messages are library bugs and should be filed as such. That's a
>>> whole other blog post.)
>>
>> I think we see a great improvement with static_assert in C++0x!
>
> Undoubtedly true, but I can't confirm firsthand. I don't do any C++0x
> programming.
>
>> And we are potentially able to reduce error message if SFINAE is
>> applied more often, with the disadvantage of losing information on
>> what failed.
>
> I disagree about SFINAE. I think it leads to horrible error messages
> like, "No function overload matched. Here are the signatures of the (5,
> 20, 100+) functions that failed to match (and I'm not going to tell you
> why)". I've had better luck with tag dispatching, with a catch-all
> handler that asserts with a "if-you-get-here-it-means-this" message.

You got me a little wrong here, i don't like the "no matching function
call bla" error message either. It is just wanted to say that you have
the *possibility* to shorten your error messages.
I like the idea of tag dispatching, never came to my mind to use it
for error generating error messages ;)

Anyway, i think we will have to go a long way to have good error
messages in highly templated code.

> But all that will go in my rant. ;-)

Looking forward to it.
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] for your review: intro to a series of blog posts about proto and phoenix v3

2010-08-10 Thread Mathieu -
On 10 August 2010 18:56, Eric Niebler  wrote:
> On 8/10/2010 12:03 PM, Thomas Heller wrote:
>> And we are potentially able to reduce error message if SFINAE is
>> applied more often, with the disadvantage of losing information on
>> what failed.
>
> I disagree about SFINAE. I think it leads to horrible error messages
> like, "No function overload matched. Here are the signatures of the (5,
> 20, 100+) functions that failed to match (and I'm not going to tell you
> why)". I've had better luck with tag dispatching, with a catch-all
> handler that asserts with a "if-you-get-here-it-means-this" message.

SFINAE plus static_assert gives pretty *clear* error messages imho!
(if you don't pay attention to the junk that follows the failed
assertion at least)
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] for your review: intro to a series of blog posts about proto and phoenix v3

2010-08-10 Thread Manjunath Kudlur
On Tue, Aug 10, 2010 at 7:49 AM, Eric Niebler  wrote:
> I'm going to write a series of posts about proto and phoenix3 for
> cpp-next.com. I have a draft of the first post up. It mentions
> expression templates, spirit, phoenix and proto. Please take a moment to
> look it over and tell me if I've flubbed anything. All feedback welcome.
>
> http://cpp-next.com/?p=1469&preview=true&preview_id=1469&public=1&nonce=5df036d616

Nice writeup. I like the gentle nudge you give to the templates
nay-sayers. Hopefully more people will get convinced, looking at the
level of advancement of ET techniques.

Manjunath
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] for your review: intro to a series of blog posts about proto and phoenix v3

2010-08-10 Thread Eric Niebler
On 8/10/2010 12:03 PM, Thomas Heller wrote:
> On Tue, Aug 10, 2010 at 5:21 PM, Eric Niebler  wrote:
>> On 8/10/2010 11:14 AM, Robert Jones wrote:
>>> When you get this
>>> stuff wrong, what do the error messages look like? Boost.Bind &
>>> Boost.Lambda errors are already enough to send most of us running for
>>> the hills,
>>
>> (I've held back a whole rant about how long template
>> error messages are library bugs and should be filed as such. That's a
>> whole other blog post.)
> 
> I think we see a great improvement with static_assert in C++0x!

Undoubtedly true, but I can't confirm firsthand. I don't do any C++0x
programming.

> And we are potentially able to reduce error message if SFINAE is
> applied more often, with the disadvantage of losing information on
> what failed.

I disagree about SFINAE. I think it leads to horrible error messages
like, "No function overload matched. Here are the signatures of the (5,
20, 100+) functions that failed to match (and I'm not going to tell you
why)". I've had better luck with tag dispatching, with a catch-all
handler that asserts with a "if-you-get-here-it-means-this" message.

But all that will go in my rant. ;-)

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] for your review: intro to a series of blog posts about proto and phoenix v3

2010-08-10 Thread Thomas Heller
On Tue, Aug 10, 2010 at 5:21 PM, Eric Niebler  wrote:
> On 8/10/2010 11:14 AM, Robert Jones wrote:
>> Well, as a complete novice to code of this sophistication I
>> understood that piece perfectly, as far as it goes. Naturally, as the
>> opening piece of a series it raises far more questions than it
>> answers.
>
> That's great feedback, thank you.

Let me follow up. I like it too!

>> It also scares me somewhat. This stuff could mark an absolute
>> explosion of complexity in the code your average jobbing programmer
>> is expected to get to grips with, and in my experience the technology
>> is already slipping from the grasp of most of us! When you get this
>> stuff wrong, what do the error messages look like? Boost.Bind &
>> Boost.Lambda errors are already enough to send most of us running for
>> the hills,
>
> A great point! (I've held back a whole rant about how long template
> error messages are library bugs and should be filed as such. That's a
> whole other blog post.) I sort of address this when I say that a good
> dsel toolkit would force dsel authors to rigorously define their dsels,
> leading to "better usage experiences". That's pretty vague, though. I
> could be more explicit. But certainly the intention here is that proto
> makes it easier for dsel authors to give their users more succinct error
> messages.

I think we see a great improvement with static_assert in C++0x!
And we are potentially able to reduce error message if SFINAE is
applied more often, with the disadvantage of losing information on
what failed.

>> and tool support is somewhat lacking as far as I know,
>> being pretty much limited to STLFilt.
>>
>> Maybe I'm just too long in the tooth for this!
>>
>> Still, great piece, and I look forward to subsequent installments.
>
> Thanks,
>
> --
> Eric Niebler
> BoostPro Computing
> http://www.boostpro.com
> ___
> proto mailing list
> proto@lists.boost.org
> http://lists.boost.org/mailman/listinfo.cgi/proto
>
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] for your review: intro to a series of blog posts about proto and phoenix v3

2010-08-10 Thread Eric Niebler
On 8/10/2010 11:14 AM, Robert Jones wrote:
> Well, as a complete novice to code of this sophistication I
> understood that piece perfectly, as far as it goes. Naturally, as the
> opening piece of a series it raises far more questions than it
> answers.

That's great feedback, thank you.

> It also scares me somewhat. This stuff could mark an absolute
> explosion of complexity in the code your average jobbing programmer
> is expected to get to grips with, and in my experience the technology
> is already slipping from the grasp of most of us! When you get this
> stuff wrong, what do the error messages look like? Boost.Bind &
> Boost.Lambda errors are already enough to send most of us running for
> the hills, 

A great point! (I've held back a whole rant about how long template
error messages are library bugs and should be filed as such. That's a
whole other blog post.) I sort of address this when I say that a good
dsel toolkit would force dsel authors to rigorously define their dsels,
leading to "better usage experiences". That's pretty vague, though. I
could be more explicit. But certainly the intention here is that proto
makes it easier for dsel authors to give their users more succinct error
messages.

> and tool support is somewhat lacking as far as I know,
> being pretty much limited to STLFilt.
> 
> Maybe I'm just too long in the tooth for this!
> 
> Still, great piece, and I look forward to subsequent installments.

Thanks,

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] for your review: intro to a series of blog posts about proto and phoenix v3

2010-08-10 Thread Mathieu -
That's great, it looks really fine! Looking forward for the next posts ;).

Good job.
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] for your review: intro to a series of blog posts about proto and phoenix v3

2010-08-10 Thread Robert Jones
Well, as a complete novice to code of this sophistication I understood that
piece
perfectly, as far as it goes. Naturally, as the opening piece of a series
it raises far more questions than it answers.

It also scares me somewhat. This stuff could mark an absolute explosion
of complexity in the code your average jobbing programmer is expected
to get to grips with, and in my experience the technology is already
slipping
from the grasp of most of us! When you get this stuff wrong, what do the
error
messages look like? Boost.Bind & Boost.Lambda errors are already enough
to send most of us running for the hills, and tool support is somewhat
lacking as far as I know, being pretty much limited to STLFilt.

Maybe I'm just too long in the tooth for this!

Still, great piece, and I look forward to subsequent installments.

- Rob.
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] for your review: intro to a series of blog posts about proto and phoenix v3

2010-08-10 Thread Alp Mestanogullari
That's a *great* post. There isn't much to add, the references you give are
sufficient for those who don't know about ETs.

On Tue, Aug 10, 2010 at 4:49 PM, Eric Niebler  wrote:

> I'm going to write a series of posts about proto and phoenix3 for
> cpp-next.com. I have a draft of the first post up. It mentions
> expression templates, spirit, phoenix and proto. Please take a moment to
> look it over and tell me if I've flubbed anything. All feedback welcome.
>
>
> http://cpp-next.com/?p=1469&preview=true&preview_id=1469&public=1&nonce=5df036d616
>
> Thanks in advance,
>
> --
> Eric Niebler
> BoostPro Computing
> http://www.boostpro.com
> ___
> proto mailing list
> proto@lists.boost.org
> http://lists.boost.org/mailman/listinfo.cgi/proto
>



-- 
Alp Mestanogullari
http://alpmestan.wordpress.com/
http://alp.developpez.com/
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


Re: [proto] for your review: intro to a series of blog posts about proto and phoenix v3

2010-08-10 Thread Hartmut Kaiser
Reads nicely and looks fine to me.

Good job!
Regards Hartmut

---
Meet me at BoostCon
www.boostcon.com


> -Original Message-
> From: Eric Niebler [mailto:e...@boostpro.com]
> Sent: Tuesday, August 10, 2010 9:50 AM
> To: Joel de Guzman; Hartmut Kaiser; Thomas Heller; proto
> Subject: for your review: intro to a series of blog posts about proto and
> phoenix v3
> 
> I'm going to write a series of posts about proto and phoenix3 for cpp-
> next.com. I have a draft of the first post up. It mentions expression
> templates, spirit, phoenix and proto. Please take a moment to look it over
> and tell me if I've flubbed anything. All feedback welcome.
> 
> http://cpp-
> next.com/?p=1469&preview=true&preview_id=1469&public=1&nonce=5df036d616
> 
> Thanks in advance,
> 
> --
> Eric Niebler
> BoostPro Computing
> http://www.boostpro.com

___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto


[proto] for your review: intro to a series of blog posts about proto and phoenix v3

2010-08-10 Thread Eric Niebler
I'm going to write a series of posts about proto and phoenix3 for
cpp-next.com. I have a draft of the first post up. It mentions
expression templates, spirit, phoenix and proto. Please take a moment to
look it over and tell me if I've flubbed anything. All feedback welcome.

http://cpp-next.com/?p=1469&preview=true&preview_id=1469&public=1&nonce=5df036d616

Thanks in advance,

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com
___
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto