GHCi.RemoteTypes

GHCi.RemoteTypes

Safe Haskell None
Language Haskell2010

newtype RemotePtr a Source

Constructors

RemotePtr Word64

toRemotePtr :: Ptr a -> RemotePtr a Source

fromRemotePtr :: RemotePtr a -> Ptr a Source

castRemotePtr :: RemotePtr a -> RemotePtr b Source

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

type HValueRef = RemoteRef HValue Source

toHValueRef :: RemoteRef a -> RemoteRef HValue Source

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).

withForeignRef :: ForeignRef a -> (RemoteRef a -> IO b) -> IO b Source

Use a ForeignHValue

type ForeignHValue = ForeignRef HValue Source

unsafeForeignRefToRemoteRef :: ForeignRef a -> RemoteRef a Source

finalizeForeignRef :: ForeignRef a -> IO () Source

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.0.1/docs/html/libraries/ghci-8.0.1/GHCi-RemoteTypes.html

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部