> But you seem to be saying that
>
>       freeStablePtr (castPtrToStablePtr Ptr.nullPtr)
>
> is meaningful... which part of the spec implies that?

Aha!  I was reading the last sentence of the freeStablePtr description
as though it applied to freeStablePtr when in fact it means that
castStablePtrToPtr is guaranteed not to diverge.  Well that's a lot
easier to implement.

btw What am I to make of the parenthetical remark 

  (in particular it may be Ptr.nullPtr)

Should I read that as a recommendation to implementors that when
casting a stableptr which has already been freed then they should
return nullPtr?   If so, is this required or just hinted/recommended?

> Either 'ErrorCall "Foreign.StablePtr.deRefStablePtr: invalid stable
> pointer"', or a new exception.  I don't mind which.

I'll pick one and add my choice to the spec then.

-- 
Alastair Reid        [EMAIL PROTECTED]        http://www.cs.utah.edu/~reid/
_______________________________________________
FFI mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/ffi

Reply via email to