First of all MuranoPL is not a host but hosted language. It never intended to replace Python and if Python can do the job it is probably better than MuranoPL for that job. The problem with Python is that you cannot have Python code as a part of your DSL if you need to evaluate that DSL on server-side. Using Python's eval() is not secure. And you don't have enough control on what evaled code is allowed to do. MuranoPL on the contrary are fully sandboxed. You have absolute control over what functions/methods/APIs are exposed to DSL and DSL code can do nothing except for what it allowed to do. Besides you typically do want your DSL to be domain-specific so general-purpose language like Python can be suboptimal.
I don't say MuranoPL is good for all projects. It has many Murano-specific things after all. In most cases you don't need all those OOP features that MuranoPL has. But the code organization, how it uses YAML, block structures and especially YAQL expressions can be of a great value to many projects For examples of MuranoPL classes you can browse https://github.com/istalker2/MuranoDsl/tree/master/meta folder. This is my private repository that I was using to develop PoC for MuranoPL engine. We are on the way to create production-quality implementation with unit-tests etc. in regular Murano repositories on stackforge On Sun, Mar 9, 2014 at 7:33 AM, Joshua Harlow <harlo...@yahoo-inc.com>wrote: > To continue from other thread.... > > """ > Personally I believe that YAQL-based DSLs similar (but probably simlet > than) MuranoPL can be of a great value for many OpenStack projects that > have DSLs of different kind. Murano for App Catatalog, Mistral for > workflows, Heat for HOT templates, Ceilometer for alarms & counter > aggregation rules, Nova for customizable resource scheduling and probably > many more. > """ > > Isn't python a better host language for said DSLs than muranoPL? I am > still pretty weary of a DSL that starts to grow so many features to > encompass other DSLs since then it's not really a DSL but a non-DSL, and we > already have one that everyone is familiar with (python). > > Are there any good examples if muranoPL that I can look at that take > advantage of muranoPL classes, functions, namespaces which can be compared > to there python equivalents. Has such an analysis/evaluation been done? > > Sent from my really tiny device... > _______________________________________________ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > -- Sincerely yours Stanislav (Stan) Lagun Senior Developer Mirantis 35b/3, Vorontsovskaya St. Moscow, Russia Skype: stanlagun www.mirantis.com sla...@mirantis.com
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev