[saga-rg] SAGA, object states, and concurrency

Hartmut Kaiser hkaiser at cct.lsu.edu
Tue Aug 1 19:07:30 CDT 2006


Thilo, 

> I am happy to hear about the acceptance of BOOST.
> However, we have to be careful as we are working on 
> standardizing the language-independent SAGA API here. 
> The C++-related features should go to the C++ language binding.
> In there, we must use today's C++ standard, unless there is 
> strong evidence that "tomorrow" (meaning: BOOST becoming 
> standard) is going to happen really soon now. But this 
> discussion should be deferred to the writing of the C++ 
> language binding. (We just should keep the 
> language-independent SAGA spec clean of this issue.)

We should keep Boost out of the spec. I agree here. And we should keep it
out of the language binding as well (at least as far as a certain Boost
feature isn't expected to be part of the next C++ Standard). I agree here as
well. But we don't have to keep Boost out of our C++ implementation. That's
the point where I disagree.

> After another night of thinking:
> 
> I believe that the language-independent SAGA spec must not 
> prescribe any memory management and object lifetime issues at all.
> This is purely to be addressed in the language bindings, same 
> as with thread safety.
> 
> So, my revised suggestion is:
> 
> a) The SAGA specification does NOT address issues of object 
> life cycle 
>    and memory management at all. It is subject to the 
> language bindings
>    of SAGA to define this in a way that suits the respective 
> programming
>    languages.

Agreed as long as we require some kind of generalized 'deep copy semantics'
for all saga objects. Please don't get me wrong. That doesn't mean an
implementation has really to use deep copy semantics, this only means, that
for the application programmer it has to appear to have deep copy semantics
(how this might be implemented is highly implementation defined).

> Further, I think we should have a disclaimer in the SAGA spec like:
> 
> The programmaning examples used in this document are for 
> illustrative purposes only. They do NOT prescribe any 
> bindings to particular programming languages. These will be 
> defined in companion documents.

Disclaimers are always a good thing! 
You should add something as: please use SAGA only if you know what you're
doing :-P

Regards Hartmut

> 
> 
> 
> Thilo
> -- 
> Thilo Kielmann                                 
> http://www.cs.vu.nl/~kielmann/
> 





More information about the saga-rg mailing list