grisette-0.11.0.0: Symbolic evaluation as a library
Copyright(c) Sirui Lu 2021-2024
LicenseBSD-3-Clause (see the LICENSE file)
Maintainersiruilu@cs.washington.edu
StabilityExperimental
PortabilityGHC only
Safe HaskellNone
LanguageHaskell2010

Grisette.Internal.SymPrim.Prim.Internal.Caches

Description

 
Synopsis

Documentation

data SomeStableName where Source #

A type-erased stable name.

Constructors

SomeStableName :: forall a. StableName a -> SomeStableName 

type Id = Word32 Source #

A unique identifier for a term.

type StableIdent = StableName (Any :: Type) Source #

The identity of a term.

type Digest = Word32 Source #

A digest of a term.

data CachedInfo Source #

Information about a cached term.

Instances

Instances details
NFData CachedInfo Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Term

Methods

rnf :: CachedInfo -> () #

class Interned t where Source #

A class for interning terms.

Associated Types

data Description t Source #

type Uninterned t Source #

Instances

Instances details
Interned (Term t) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Term

Associated Types

data Description (Term t) 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Term

data Description (Term t) where
type Uninterned (Term t) 
Instance details

Defined in Grisette.Internal.SymPrim.Prim.Internal.Term

type Uninterned (Term t) = UTerm t

intern :: (Interned t, Typeable t, Hashable (Description t), Eq (Description t)) => Uninterned t -> IO t Source #

Internalize a term.

haveCache :: IO Bool Source #

Check if the current thread has a cache.

threadCacheSize :: WeakThreadId -> IO Int Source #

Get the size of the current thread's cache.

threadCacheLiveSize :: WeakThreadId -> IO Int Source #

Get the live size of the current thread's cache.