if I may repeat myself (again), since my old suggestion now seems to
agree with Wolfgang, Ross, and Simon:
http://www.haskell.org//pipermail/haskell-prime/2006-March/001129.html
...
so my suggestion would be to make no assumption about
unannotated calls (don't rely on the programmer too much;),
and to have optional keywords "atomic" and "non-reentrant".
but yes, "non-reentrant" is rather too long - perhaps "external" (is outside
Haskell and stays out)?
foreign import - we don't know anything, some implementations
might not support this
foreign import atomic - function is neither blocking nor long-running
foreign import external - function has no callbacks to Haskell
cheers,
claus
---
Wolfgang Thaller:
|Personally, I'm still in favour of inverting this. We are not in
|court here, so every foreign function is guilty until proven
|innocent. Every foreign function might be "longrunning" unless the
|programmer happens to know otherwise. So maybe... "returnsquickly"?
---
On 2006-04-11, Ross Paterson <[EMAIL PROTECTED]> wrote:
On Tue, Apr 11, 2006 at 09:13:00AM +0100, Simon Marlow wrote:
- the default should be... concurrent reentrant, presumably,
because that is the safest. (so we need to invert the notation).
I think the name "concurrent" has a similar problem to "safe": it
reads as an instruction to the implementation, rather than a
declaration by the programmer of the properties of a particular
function; as Wolfgang put it, "this function might spend a lot of
time in foreign lands".
I'd like to second this.
I agree. So other suggestions? longrunning? mightblock or mayblock?
I don't much like 'nonreentrant', it's a bit of a mouthful. Any other
suggestions for that? nocallback?
Cheers,
Simon
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://haskell.org/mailman/listinfo/haskell-prime
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://haskell.org/mailman/listinfo/haskell-prime