> 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