Currently, the standard says that elemental implies pure. From the
parallel point of view, this makes a lot of sense, but is it really
required?
As I see it, elemental is syntactic sugar for ``broadcast the
arguments and call the procedure in a `forall' assignment''.
Impure elemental would be syntactic sugar for ``broadcast the
arguments and call the procedure in array element order''.
This extension would allow to use the expressive power of elemental
for procedures which do I/O or perform the stop statement. A
particular application would be the debugging of complicates
elemental procedures.
--
Thorsten Ohl, Physics Department, TU Darmstadt -- [log in to unmask]
http://crunch.ikp.physik.tu-darmstadt.de/~ohl/ [<=== PGP public key here]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|