ghci-8.0.0.20160204: The library supporting GHC's interactive interpreter

Safe HaskellNone
LanguageHaskell2010

GHCi.RemoteTypes

Synopsis

Documentation

newtype RemotePtr a Source

Constructors

RemotePtr Word64 

newtype HValue Source

Constructors

HValue Any 

data RemoteRef a Source

A reference to a remote value. These are allocated and freed explicitly.

mkRemoteRef :: a -> IO (RemoteRef a) Source

Make a reference to a local value that we can send remotely. This reference will keep the value that it refers to alive until freeRemoteRef is called.

localRef :: RemoteRef a -> IO a Source

Convert an HValueRef to an HValue. Should only be used if the HValue originated in this process.

freeRemoteRef :: RemoteRef a -> IO () Source

Release an HValueRef that originated in this process

data ForeignRef a Source

An HValueRef with a finalizer

mkForeignRef :: RemoteRef a -> IO () -> IO (ForeignRef a) Source

Create a ForeignRef from a RemoteRef. The finalizer should arrange to call freeHValueRef on the HValueRef. (since this function needs to be called in the process that created the HValueRef, it cannot be called directly from the finalizer).