Discussion:
user docs for advanced features
Eric Niebler
2012-01-03 00:55:34 UTC
Permalink
Proto's users guide has been behind the times for a while. No longer.
More recent and powerful features are now documented. Feedback welcome.

Sub-domains:
============
http://boost-sandbox.sourceforge.net/libs/proto/doc/html/boost_proto/users_guide/front_end/customizing_expressions_in_your_domain/subdomains.html

Per-domain as_child customization:
==================================
http://boost-sandbox.sourceforge.net/libs/proto/doc/html/boost_proto/users_guide/front_end/customizing_expressions_in_your_domain/per_domain_as_child.html

External Transforms:
===================
http://boost-sandbox.sourceforge.net/libs/proto/doc/html/boost_proto/users_guide/back_end/expression_transformation/external_transforms.html
--
Eric Niebler
BoostPro Computing
http://www.boostpro.com
Thomas Heller
2012-01-04 15:37:39 UTC
Permalink
Post by Eric Niebler
Proto's users guide has been behind the times for a while. No longer.
More recent and powerful features are now documented. Feedback welcome.
============
http://boost-sandbox.sourceforge.net/libs/proto/doc/html/boost_proto/users_guide/front_end/customizing_expressions_in_your_domain/subdomains.html
The section is very informative and explains the concept nicely!
Post by Eric Niebler
==================================
http://boost-sandbox.sourceforge.net/libs/proto/doc/html/boost_proto/users_guide/front_end/customizing_expressions_in_your_domain/per_domain_as_child.html
Also a very nice addition to the existing documentation. What's not
immediately clear after reading that section is when proto::as_expr is
called within the library, or when you want to call it as a user. Some
clarification would be good here.
Post by Eric Niebler
===================
http://boost-sandbox.sourceforge.net/libs/proto/doc/html/boost_proto/users_guide/back_end/expression_transformation/external_transforms.html
There is a small typo here: "Just how r_i_diculous would it be to copy..."
One addition which might be helpful to the interested reader is to
explicitly say that proto's data "slot" is used for the external transform.

Thanks for adding this documentation!

Hope that helps,
Thomas
Eric Niebler
2012-01-05 06:17:06 UTC
Permalink
On 1/4/2012 7:37 AM, Thomas Heller wrote:
<snip many good suggestions>
Post by Thomas Heller
Thanks for adding this documentation!
Great feedback. I've just accommodated all of it. Thanks!
--
Eric Niebler
BoostPro Computing
http://www.boostpro.com
Fernando Pelliccioni
2012-01-09 13:54:04 UTC
Permalink
Hi Eric,
Post by Eric Niebler
Proto's users guide has been behind the times for a while. No longer.
More recent and powerful features are now documented. Feedback welcome.
============
http://boost-sandbox.sourceforge.net/libs/proto/doc/html/boost_proto/users_guide/front_end/customizing_expressions_in_your_domain/subdomains.html
Is this sentence correct?

"In light of the above discussion about sub-domains, one could think of
proto::default_domain as a sub-domain of *every other domain*."

^^^^^^^^^^^^^^

I think it should be:

"In light of the above discussion about sub-domains, one could think of
proto::default_domain as a super-domain of *every other domain*."

^^^^^^^^^^^^^^^^
Regards,
Fernando.
eric-xT6NqnoQrPdWk0Htik3J/
2012-01-11 05:50:22 UTC
Permalink
Hi Fernando, thanks for catching this. My statement is wrong. Yours is closer to right, but still not quite there. You see, unless you declare your custom domain to be a sub-domain of default_domain, it isn't. It's not like Java where everything implicitly inherits from object. Domains are islands unto themselves unless you specify otherwise. I need to find a good way to explain this.

Eric


Sent via tiny mobile device

-----Original Message-----
From: Fernando Pelliccioni <fpelliccioni-***@public.gmane.org>
Sender: proto-bounces-***@public.gmane.org
Date: Mon, 9 Jan 2012 10:54:04
To: Discussions about Boost.Proto and DSEL design<proto-***@public.gmane.org>
Reply-To: "Discussions about Boost.Proto and DSEL design"
<proto-***@public.gmane.org>
Subject: Re: [proto] user docs for advanced features
Fernando Pelliccioni
2012-01-11 12:02:52 UTC
Permalink
Hi Eric,
Post by eric-xT6NqnoQrPdWk0Htik3J/
Hi Fernando, thanks for catching this. My statement is wrong. Yours is
closer to right, but still not quite there. You see, unless you declare
your custom domain to be a sub-domain of default_domain, it isn't. It's not
like Java where everything implicitly inherits from object. Domains are
islands unto themselves unless you specify otherwise. I need to find a good
way to explain this.
Eric
hmmm, seems like Domains are like inheritance in C++, the classes are
island unless you specify otherwise. Is this correct?
Post by eric-xT6NqnoQrPdWk0Htik3J/
-----Original Message-----
Date: Mon, 9 Jan 2012 10:54:04
Reply-To: "Discussions about Boost.Proto and DSEL design"
Subject: Re: [proto] user docs for advanced features
_______________________________________________
proto mailing list
http://lists.boost.org/mailman/listinfo.cgi/proto
_______________________________________________
proto mailing list
http://lists.boost.org/mailman/listinfo.cgi/proto
eric-xT6NqnoQrPdWk0Htik3J/
2012-01-11 18:21:50 UTC
Permalink
(Sorry for the top post.)

Domains do behave like an inheritance hierarchy with one caveat: default_domain is special. Expressions in the default_domain, or sub-domains thereof, can interoperate with expressions in other domains. So, imagine c++ inheritance where you can opt-in to inheritance from Object, but even if you don't, things that do can still play with objects in your hierarchy.

There isn't a clean analogy here. I wonder if the behavior of domains should change to make the analogy cleaner; every domain could be a sub-domain of default_domain. So everything can be combined with everything else. Very loose. Maybe too loose, I don't know. But it would be easier to explain.

Eric


Sent via tiny mobile device

-----Original Message-----
From: Fernando Pelliccioni <fpelliccioni-***@public.gmane.org>
Sender: proto-bounces-***@public.gmane.org
Date: Wed, 11 Jan 2012 09:02:52
To: Discussions about Boost.Proto and DSEL design<proto-***@public.gmane.org>
Reply-To: "Discussions about Boost.Proto and DSEL design"
<proto-***@public.gmane.org>
Subject: Re: [proto] user docs for advanced features

David Jenkins
2012-01-09 15:25:13 UTC
Permalink
Hi Eric,

Thanks for updating the docs. It was interesting reading. Below are some
typos that I found in the Sub-Domains document.

Dave Jenkins



Sub-Domains:

1. Change "famalies" to "families".

2. Change "expresison" to "expression". (in the code)

3. Change "two expression in different domains" to "two expressions in
different domains". (in code)

4. Change "sub-somain of spirit_domain" to "sub-domain of
spirit_domain". (in code)

5. Change "rules are loosly modeled" to "rules are loosely modeled".

6. Change "In so doing, you give expression in" to "In so doing, you
give expressions in".

7. Change "functionionality" to "functionality".

8. Change "sub-somain of proto" to "sub-domain of proto". (in code)
eric-xT6NqnoQrPdWk0Htik3J/
2012-01-11 05:44:07 UTC
Permalink
Thanks, David! I'll get to these as soon as possible.

Eric

Sent via tiny mobile device

-----Original Message-----
From: "David Jenkins" <david-qUKNH/+***@public.gmane.org>
Sender: proto-bounces-***@public.gmane.org
Date: Mon, 9 Jan 2012 10:25:13
To: <proto-***@public.gmane.org>
Reply-To: "Discussions about Boost.Proto and DSEL design"
<proto-***@public.gmane.org>
Subject: Re: [proto] user docs for advanced features
Continue reading on narkive:
Loading...