Hi Thilo, John, I should have made more clear, that the API spec would contain only 4a (not 4b, as nobody seems to like the flag version, fortunately). the 4a1, 4a2 and/or 4a3 would go into the language binding for C++, and are merilly illustrative for how 4a could look like in a OO language binding. Anyay, yes, it seems people are happy with going for 4a, so I will put that into the strawman until SC05, unless there is any negative feedback by then. Thanks for your comments, Andre. Quoting [Thilo Kielmann] (Nov 02 2005):
Date: Wed, 2 Nov 2005 14:56:24 +0100 From: Thilo Kielmann
To: John Shalf Cc: Andre Merzky , Simple API for Grid Applications WG Subject: Re: [saga-rg] Task model... On Wed, Nov 02, 2005 at 02:57:22AM -0800, John Shalf wrote:
I prefer 4a1 because it is more readable and the implementation would be quite straightforward. It is also a familiar paradigm for any MPI programmers and anyone who has played with various proprietary Async I/O implementations. (its a very familiar and conventional approach)
I kind of like 4a2 as well from the standpoint of a C++ programmer (even with Andre's syntax corrections). However, the resulting bindings will not be very consistent with the approach we would take for Fortran or C bindings (eg. those would likely look more like 4a1). It is not really much more readable than 4a1. Therefore, I'm uncertain if it is worth fragmenting our approach to bindings in different languages when there is not a clear benefit in terms of readability or implementation complexity.
Taking these arguments together, we should opt for 4a1 ! - more readable - closer to Fortran bindings and other archaic languages ;-)
Thilo -- +-----------------------------------------------------------------+ | Andre Merzky | phon: +31 - 20 - 598 - 7759 | | Vrije Universiteit Amsterdam (VU) | fax : +31 - 20 - 598 - 7653 | | Dept. of Computer Science | mail: merzky@cs.vu.nl | | De Boelelaan 1083a | www: http://www.merzky.net | | 1081 HV Amsterdam, Netherlands | | +-----------------------------------------------------------------+