FSharp.Data.Adaptive


FSharp.Data.Adaptive

FSharp.Data.Adaptive Namespace

TypeDescription
AdaptiveReduction<'a, 's, 'v>

AdaptiveReduction holds operators for reducing collections adaptively. Its main purpose is to simplify reductions on ASet/AMap/AList.

ChangeableHashSet<'T>

Changeable adaptive set that allows mutation by user-code and implements aset.

ChangeableIndexList<'T>

Changeable adaptive list that allows mutation by user-code and implements alist.

ChangeableValue<'T>

Represents an adaptive value that can be changed by application code and Used in dependency-aware computations.

ConstantObject

Core implementation of IAdaptiveObject for constant objects. The main goal of this implementation is to save memory when IAdaptiveObjects are known to be constant.

ElementOperation<'T>

Reprensents a element operation (Set/Remove) without its key. Typically datastructures will hold (key * ElementOperation) tuples.

IAdaptiveHashMap<'Key, 'Value>

Adaptive map datastructure.

IAdaptiveHashSet<'T>

Adaptive set datastructure.

IAdaptiveIndexList<'T>

Adaptive list datastructure.

IAdaptiveValue<'T>

Represents a dependency-aware value that may change as changes are fed into the system. An AdaptiveValue cannot be changed directly but gets updated by the dependency graph. For changeable inputs see cval<'T>

IHashMapReader<'Key, 'Value>

An adaptive reader for amap that allows to pull operations and exposes its current state.

IHashSetReader<'T>

An adaptive reader for aset that allows to pull operations and exposes its current state.

IIndexListReader<'T>

An adaptive reader for alist that allows to pull operations and exposes its current state.

IWeakOutputSet

Represents a set of outputs for an AdaptiveObject. The references to all contained elements are weak and the datastructure allows to add/remove entries. the only other functionality is Consume which returns all the (currently alive) entries and clears the set.

Index

datastructure representing an abstract index. this is a 'simple' solution to the order-maintenance problem that has insert in O(log N), delete in O(1) and compare in O(1). Note that the implementation is quite obfuscated due to concurrency.

LevelChangedException

When evaluating AdaptiveObjects inside a Transaction (aka eager evaluation) their level might be inconsistent when attempting to evaluate. Therefore the evaluation may raise this exception causing the evaluation to be delayed to a later time in the Transaction.

Transaction

The new level for the top-level object. Holds a set of adaptive objects which have been changed and shall therefore be marked as outOfDate. Committing the transaction propagates these changes into the dependency-graph, takes care of the correct execution-order and acquires appropriate locks for all objects affected.

alist<'T>

Adaptive list datastructure.

amap<'Key, 'Value>

Adaptive map datastructure.

aset<'T>

Adaptive set datastructure.

aval<'T>

An abbreviation for AdaptiveValue

clist<'T>

Changeable adaptive list that allows mutation by user-code and implements alist.

cset<'T>

An abbreviation for ChangeableHashSet

cval<'T>

Represents an adaptive value that can be changed by application code and Used in dependency-aware computations.

ModuleDescription
AList

Functional operators for the alist<_> type.

AMap

Functional operators for amap<_,_>

ASet

Functional operators for aset<_>

AVal

Operators related to the aval<_> type

AdadptiveObjectExtensions
AdaptiveReduction

Functional operators for AdaptiveReduction.

CallbackExtensions

IAdaptiveObject extensions for creating/removing callbacks.

CollectionExtensions

Collection extensions for aset<_>, amap<_,_>, alist<_>

ComputationExpressions

ComputationExpression builders for aval/aset/alist/amap.

DefaultEquality
DifferentiationExtensions

Differentiation extensions for several immutable datastructures.

EvaluationCallbackExtensions

Callback Extensions for adaptive datatypes.

HashMap
HashMapDelta

Functional operators for HashMapDelta.

HashSet
HashSetDelta

Functional operators for HashSetDelta.

Index

functional operators for the Index datastructure. supported operations are: Index.zero, Index.after(index), Index.before(index), Index.between(l, r).

IndexList

Functional operators for IndexList.

IndexListDelta

Functional operators for IndexListDelta.

SetDeltaExtensions

SetOperation extensions making them look like a union-type.

SetOperation

Functional operators for SetOperation<_>

FSharp.Data.Traceable Namespace

TypeDescription
AbstractReader<'Delta>

Abstract base class for implementing IOpReader<_>

AbstractReader<'State, 'Delta>

Abstract base class for implementing IOpReader<_,_>

AbstractVal<'T>

Base class for standard avals

ChangeableLazyVal<'T>
ChangeableModelList<'T, 'C, 'A>
ChangeableModelMap<'K, 'V, 'C, 'A>
IOpReader<'Delta>

An adaptive reader that allows to get operations since the last evaluation

IOpReader<'State, 'Delta>

An adaptive reader thath allows to get operations and also exposes its current state.

Monoid<'T>

Function table for a monoid instance

Traceable<'State, 'Delta>

Function table for a traceable instance

ModuleDescription
CountingHashSet

Functional operators for CountingHashSet.

HashMap

Functional operators for HashMap.

HashMapDelta

Functional operators for HashMapDelta.

HashSet

Functional operators for HashSet.

HashSetDelta

Functional operators for HashSetDelta.

History

Functional operators related to the History<_,_> type.

IndexList

Functional operators for IndexList.

IndexListDelta

Functional operators for IndexListDelta.

Fork me on GitHub