Quotations.Patterns Module (F#)

Contains a set of primitive F# active patterns to analyze F# expression objects.

Namespace/Module Path: Microsoft.FSharp.Quotations

Assembly: FSharp.Core (in FSharp.Core.dll)

module Patterns

Active Patterns

Active Pattern

Description

AddressOf : Expr -> Expr option

Recognizes expressions that represent getting the address of a value.

AddressSet : Expr -> (Expr * Expr) option

Recognizes expressions that represent setting the value held at an address .

Application : Expr -> (Expr * Expr) option

Recognizes expressions that represent applications of first class function values.

Call : Expr -> (Expr option * MethodInfo * Expr list) option

Recognizes expressions that represent calls to static and instance methods, and functions defined in modules.

Coerce : Expr -> (Expr * Type) option

Recognizes expressions that represent coercions from one type to another.

DefaultValue : Expr -> Type option

Recognizes expressions that represent invocations of a default constructor of a structure.

FieldGet : Expr -> (Expr option * FieldInfo)

Recognizes expressions that represent getting a static or instance field.

FieldSet : Expr -> (Expr option * FieldInfo * Expr) option

Recognizes expressions that represent setting a static or instance field.

ForIntegerRangeLoop : Expr -> (Var * Expr * Expr * Expr) option

Recognizes expressions that represent loops over integer ranges.

IfThenElse : Expr -> (Expr * Expr * Expr) option

Recognizes expressions that represent conditionals.

Lambda : Expr -> (Var * Expr) option

Recognizes expressions that represent first class function values.

LetRecursive : Expr -> ((Var * Expr) list * Expr) option

Recognizes expressions that represent recursive let bindings of one or more variables.

Let : Expr -> (Var * Expr * Expr) option

Recognizes expressions that represent let bindings.

NewArray : Expr -> (Type * Expr list) option

Recognizes expressions that represent the construction of arrays.

NewDelegate : Expr -> (Type * Var list * Expr) option

Recognizes expressions that represent construction of delegate values.

NewObject : Expr -> (ConstructorInfo * Expr list) option

Recognizes expressions that represent invocation of object constructors.

NewRecord : Expr -> (Type * Expr list) option

Recognizes expressions that represent construction of record values.

NewTuple : Expr -> (Expr list) option

Recognizes expressions that represent construction of tuple values.

NewUnionCase : Expr -> (UnionCaseInfo * Expr list) option

Recognizes expressions that represent construction of particular union case values.

PropertyGet : Expr -> (Expr option * PropertyInfo * Expr list) option

Recognizes expressions that represent the read of a static or instance property, or a non-function value declared in a module.

PropertySet : Expr -> (Expr option * PropertyInfo * Expr list * Expr) option

Recognizes expressions that represent setting a static or instance property, or a non-function value declared in a module.

Quote : Expr -> Expr option

Recognizes expressions that represent a nested quotation literal.

Sequential : Expr -> (Expr * Expr) option

Recognizes expressions that represent sequential execution of one expression followed by another.

TryFinally : Expr -> (Expr * Expr) option

Recognizes expressions that represent a try...finally construct.

TryWith : Expr -> (Expr * Var * Expr * Var * Expr) option

Recognizes expressions that represent a try...with construct for exception filtering and catching.

TupleGet : Expr -> (Expr * int) option

Recognizes expressions that represent getting a tuple field.

TypeTest : Expr -> (Expr * Type) option

Recognizes expressions that represent a dynamic type test.

UnionCaseTest : Expr -> (Expr * UnionCaseInfo) option

Recognizes expressions that represent a test if a value is of a particular union case.

Value : Expr -> (obj * Type) option

Recognizes expressions that represent a constant value.

VarSet : Expr -> (Var * Expr) option

Recognizes expressions that represent setting a mutable variable.

Var : Expr -> Var option

Recognizes expressions that represent a variable.

WhileLoop : Expr -> (Expr * Expr) option

Recognizes expressions that represent while loops.

Platforms

Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

Version Information

F# Runtime

Supported in: 2.0, 4.0

Silverlight

Supported in: 3

See Also

Reference

Microsoft.FSharp.Quotations Namespace (F#)