`StablePtr` in `ST`

David Feuer david.feuer at gmail.com
Wed Aug 21 01:08:52 UTC 2019


You also need to avoid inspecting the StablePtr itself, which is just a
number, to maintain purity. The whole thing is a bit weird. Why do you want
this anyway?

On Wed, Aug 21, 2019, 7:39 AM David Feuer <david.feuer at gmail.com> wrote:

> So something like
>
> newtype StablePtr a = StablePtr (StablePtrST RealWorld a)?
>
> I suppose that could work with some discipline. You have to assume that
> foreign code doesn't pick its address out of a hat and so something silly,
> but I guess you pretty much have to assume that anyway.
>
> On Wed, Aug 21, 2019, 5:00 AM Matthew Farkas-Dyck <strake888 at gmail.com>
> wrote:
>
>> I have been doing some work where i want `StablePtr`, but also to not
>> be confined to `IO`. I saw the following comment in
>> "compiler/prelude/PrimOp.hs":
>>
>> Question: Why @RealWorld@ - won't any instance of @_ST@ do the job? [ADR]
>>
>> It has been there for 20 years. What is the answer? If it is safe i'll
>> send the patch generalizing these operations.
>> _______________________________________________
>> Glasgow-haskell-users mailing list
>> Glasgow-haskell-users at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20190821/00530a05/attachment.html>


More information about the ghc-devs mailing list