Table of Contents

Class InstructionLevelNotifySystem

Namespace
NMF.Expressions
Assembly
NMF.Expressions.dll

Represents an implementation of an incremental computation system on instruction level

public class InstructionLevelNotifySystem : INotifySystem
Inheritance
InstructionLevelNotifySystem
Implements
Derived
Inherited Members
Extension Methods

Constructors

InstructionLevelNotifySystem()

Creates a new instance

public InstructionLevelNotifySystem()

Properties

Instance

Gets the default instruction-level-incremental system

public static InstructionLevelNotifySystem Instance { get; }

Property Value

InstructionLevelNotifySystem

Methods

CreateExpression(Expression, IEnumerable<ParameterExpression>, IDictionary<string, object>)

Creates an incremental expression for the given code expression

public INotifyExpression CreateExpression(Expression expression, IEnumerable<ParameterExpression> parameters, IDictionary<string, object> parameterMappings)

Parameters

expression Expression

The expression from which to create an incremental expression

parameters IEnumerable<ParameterExpression>

The parameters of the expression

parameterMappings IDictionary<string, object>

A given mapping of parameters

Returns

INotifyExpression

An incremental expression object

CreateExpression<T>(Expression, IEnumerable<ParameterExpression>, IDictionary<string, object>)

Creates an incremental expression for the given code expression

public INotifyExpression<T> CreateExpression<T>(Expression expression, IEnumerable<ParameterExpression> parameters, IDictionary<string, object> parameterMappings)

Parameters

expression Expression

The expression from which to create an incremental expression

parameters IEnumerable<ParameterExpression>

The parameters of the expression

parameterMappings IDictionary<string, object>

A given mapping of parameters

Returns

INotifyExpression<T>

An incremental expression object

Type Parameters

T

The type of the expression

CreateLocal<T, TVar>(INotifyExpression<T>, INotifyExpression<TVar>, out string)

Creates a local variable expression for the given expression and the given local variable

public INotifyExpression<T> CreateLocal<T, TVar>(INotifyExpression<T> inner, INotifyExpression<TVar> localVariable, out string paramName)

Parameters

inner INotifyExpression<T>

The expression for which the local variable should be created

localVariable INotifyExpression<TVar>

The local variable

paramName string

Returns a parameter name under which the local variable can be referenced

Returns

INotifyExpression<T>

The inner expression withthe local variable attached to it

Type Parameters

T

The type of the expression whose scope should be used to create the local variable

TVar

The type of the variable

CreateReversableExpression<T>(Expression, IEnumerable<ParameterExpression>, IDictionary<string, object>)

Creates an incremental expression for the given code expression

public INotifyReversableExpression<T> CreateReversableExpression<T>(Expression expression, IEnumerable<ParameterExpression> parameters, IDictionary<string, object> parameterMappings)

Parameters

expression Expression

The expression from which to create an incremental expression

parameters IEnumerable<ParameterExpression>

The parameters of the expression

parameterMappings IDictionary<string, object>

A given mapping of parameters

Returns

INotifyReversableExpression<T>

An incremental expression object

Type Parameters

T

The type of the expression