I think we agree on the lazy execution model. At least at a high-level, I'd 
rather not agree on the API's that are exactly exposed until there is an 
implementation since I've found that agreeing to any type of API's before there 
is the needed groundwork to make it happen is pretty useless and a waste of 
energy on everyones part.

Decider sounds like it could work also as a name, although it seems from 
dataflow like work its called a switch or gate, either or I guess.

As far as the micro-language:

So there are typically 2 types of DSL's that occur, internal and external.

An internal DSL is like http://martinfowler.com/bliki/InternalDslStyle.html, 
taskflow is already a micro-DSL internal to python (mistral is an external 
DSL[1]). To me there is a drawback of becoming to much of a DSL (internal or 
external) in that it requires a lot of new learning (imho internal DSLs are 
easier to pick-up since they take advantage of the surrounding languages 
capabilities, in this case python). So that’s what I just want to keep in our 
minds that we need to make it simple *enough*, or we will die a nasty death of 
complexity :-P

[1] http://martinfowler.com/bliki/DomainSpecificLanguage.html

From: Renat Akhmerov <[email protected]<mailto:[email protected]>>
Reply-To: "OpenStack Development Mailing List (not for usage questions)" 
<[email protected]<mailto:[email protected]>>
Date: Tuesday, April 15, 2014 at 12:19 AM
To: "OpenStack Development Mailing List (not for usage questions)" 
<[email protected]<mailto:[email protected]>>
Subject: Re: [openstack-dev] [Mistral][TaskFlow] Mistral-TaskFlow Summary

Some notes:

  *   Even though we use YAQL now our design is flexible enough to plug other 
ELs in.
  *   If it tells you something in Amazon SWF a component that makes a decision 
about a further route is called Decider.
  *   This discussion about conditionals is surely important but it doesn’t 
matter too much if we don’t agree on that lazy execution model.

Of course I'm trying to make the above not be its own micro-language as much as 
possible (a switch object starts to act like one, sadly).

Why do you think it’s going to be a micro-language?

[1] http://www.cs.cmu.edu/~aldrich/papers/onward2009-concurrency.pdf
[2] 
http://www.cs.ucf.edu/~dcm/Teaching/COT4810-Spring2011/Literature/DataFlowProgrammingLanguages.pdf

Cool, thanks!

_______________________________________________
OpenStack-dev mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to