Boost logo

Boost :

Subject: Re: [boost] [MSM] Is there any interest in C++14 Boost.MSM-eUML like library which compiles up to 60x quicker whilst being a slightly faster too?
From: Kris (krzysztof_at_[hidden])
Date: 2016-02-06 15:59:30


On Fri, Feb 5, 2016 at 10:15 PM, Rob Stewart [via Boost] <
ml-node+s2283326n4683264h3_at_[hidden]> wrote:

> On February 4, 2016 5:56:29 AM EST, Kris <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=4683264&i=0>> wrote:
>
> > On Thu, Feb 4, 2016 at 10:41 AM, Rob Stewart [via Boost] <
> > [hidden email] <http:///user/SendEmail.jtp?type=node&node=4683264&i=1>>
> wrote:
> > > On February 3, 2016 3:48:14 PM EST, Kris <[hidden email]
> > > <http:///user/SendEmail.jtp?type=node&node=4683202&i=0>> wrote:
> > >
> > > > There are pre/post fix notations available.
> > > > src_state + event [guard] / action = dst_state
> > > > or
> > > > dst_state <= src_state + event [guard] / action
> > >
> > > Why = for the one and <= for the other? Can't you use = for both?
> >
> > The initial idea was to have <= in the prefix notation and => in the
> > postfix one. However the latter had to become >= which was quite
> > awkward.
> > I guess it can be changed into.
> >
> > dst = src + event [guard] / action
> > and
> > src + event[guard] / action = dst
> >
> > I'm just not sure whether this approach is not confusing as we have
> > the same syntax for both notations, but sometimes src and sometimes
> > dst is used on the left side?
> > Do you think, if it possible, it would be better to use = for both
> > notations?
>
> It is rather odd to see so much on the left side of the assignment. We're
> accustomed to the shift operators being used directionally by IOStreams, so
> what about the following?
>
> dst << src + event [guard] / action
> src + event[guard] / action >> dst
>
>
Yea, shift operators are symmetrical, which is awesome. I don't find them
odd and I have even tried them at some point in the past.
However, I have encountered one ackward thing with the usage of them with
data events.

src + event<some_event_data> >> dst // '> >>' is quite unfortunate
combination here

All in all, I'm not sure which syntax would be the best in the end.
On the one hand, '<-' and '->' would be perfect, but can't be done with
operators. On the other hand, '=', '=' is short and sweat, but might be a
bit confusing.
Finally, '<<', '>>' is symetric, but sometimes a bit ackward.

Any suggestions, which one would be the best? Right now, I'm thinking '='
is the best choice, but maybe it would be best to give user a final
decision? Not sure.

> [snip quoted snips, signature block, and more]
>
> Please don't quote irrelevant content on this list.
>
> ___
> Rob
>
> (Sent from my portable computation engine)
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>
>
> ------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
>
> http://boost.2283326.n4.nabble.com/MSM-Is-there-any-interest-in-C-14-Boost-MSM-eUML-like-library-which-compiles-up-to-60x-quicker-whils-tp4683016p4683264.html
> To unsubscribe from [MSM] Is there any interest in C++14 Boost.MSM-eUML
> like library which compiles up to 60x quicker whilst being a slightly
> faster too?, click here
> <http://boost.2283326.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4683016&code=a3J6eXN6dG9mQGp1c2lhay5uZXR8NDY4MzAxNnwtMTY0MTkzNTIwMA==>
> .
> NAML
> <http://boost.2283326.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>

--
View this message in context: http://boost.2283326.n4.nabble.com/MSM-Is-there-any-interest-in-C-14-Boost-MSM-eUML-like-library-which-compiles-up-to-60x-quicker-whils-tp4683016p4683292.html
Sent from the Boost - Dev mailing list archive at Nabble.com.

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk