Re: `StablePtr` in `ST`

2019-08-20 Thread David Feuer
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 wrote: > So something like > > newtype StablePtr a = StablePtr (StablePtrST RealWorld a)? >

Re: `StablePtr` in `ST`

2019-08-20 Thread David Feuer
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,

`StablePtr` in `ST`

2019-08-20 Thread Matthew Farkas-Dyck
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