
Hi Andre, On 9/2/11 6:55 , "Andre Merzky" <andre@merzky.net> wrote:
Both implementations make extensive use of getters and setters which are discouraged in Python.
The SAGA spec requires that some objects, such as job description, do not allow free attributes (like 'my_jobclass = super'),
You won't technically prevent this by having getters and setters, but it might have some social/practical effect. There are ways to limit creation of new attributes (__slots__).
and also restricts values several attributes can have. Is that mappable to a python hashtable (dictoinary)? If not, I would think that is the reason for setters and getters?
Yes, you can use properties for that.
The VU package structure seems to be closer to the spec. The LSU bindings use "fork://" for localhost execution and the VU bindings use "local://".
The URL semantics should not be part of the language binding - for good or for worse, that is an implementation detail....
True, but it still broke the compatibility, so I thought it was worth mentioning.
My $0.02:
- quickly (re-)agree on a common binding, whatever that is - provide a thin wrapper around the C++ bindings, to be able to maintain both for a time - change the VU bindings to adhere to the agreement - provide a common test suite for both (something along the lines of Sylvain's interop tests)
Sounds like a plan. If I have some time before the meeting I can come up with a proposal for the common binding. Cheers, Mark