Header menu logo fantomas

Internal.Utilities.Library Namespace

Type/Module Description

AnyCallerThreadToken

Represents a token that indicates execution on any of several potential user threads calling the F# compiler services.

Array

Cancellable

Cancellable<'T>

Represents a synchronous, cold-start, cancellable computation with explicit representation of a cancelled result. A cancellable computation may be cancelled via a CancellationToken, which is propagated implicitly. If cancellation occurs, it is propagated as data rather than by raising an OperationCanceledException.

CancellableAutoOpens

CancellableBuilder

CompilationThreadToken

 Represents a token that indicates execution on the compilation thread, i.e.
   - we have full access to the (partially mutable) TAST and TcImports data structures
   - compiler execution may result in type provider invocations when resolving types and members
   - we can access various caches in the SourceCodeServices

 Like other execution tokens this should be passed via argument passing and not captured/stored beyond
 the lifetime of stack-based calls. This is not checked, it is a discipline within the compiler code.

DelayInitArrayMap<'T, 'TDictKey, 'TDictValue>

Dictionary

DictionaryExtensions

ExecutionToken

Represents a permission active at this point in execution

Extras

InterruptibleLazy

InterruptibleLazy<'T>

IPartialEqualityComparer

Interface that defines methods for comparing objects using partial equality relation

IPartialEqualityComparer<'T>

Interface that defines methods for comparing objects using partial equality relation

LayeredMap<'Key, 'Value>

LayeredMultiMap<'Key, 'Value>

Immutable map collection, with explicit flattening to a backing dictionary

Lazy

LazyWithContext<'T, 'ctxt>

Just like "Lazy" but EVERY forcer must provide an instance of "ctxt", e.g. to help track errors on forcing back to at least one sensible user location

LazyWithContextFailure

List

Lock<'LockTokenType>

Encapsulates a lock associated with a particular token-type representing the acquisition of that lock.

LockAutoOpens

LockToken

A base type for various types of tokens that must be passed when a lock is taken. Each different static lock should declare a new subtype of this type.

Map

MapAutoOpens

MemoizationTable<'T, 'U>

Memoize tables (all entries cached, never collected unless whole table is collected)

MultiMap

MultiMap<'T, 'U>

NameMap

NameMap<'T>

NameMultiMap

NameMultiMap<'T>

Option

Order

PervasiveAutoOpens

ResizeArray

ResultOrException

ResultOrException<'TResult>

Span

StampedDictionary<'T, 'U>

A thread-safe lookup table which is assigning an auto-increment stamp with each insert

String

Tables

Intern tables to save space.

UndefinedException

UniqueStampGenerator<'T>

Generates unique stamps

ValueOptionInternal

ValueOrCancelled<'TResult>

Type something to start searching.