Re: [proto] for your review: intro to a series of blog posts about proto and phoenix v3
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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