Share via


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 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Version Information

F# Core Library Versions

Supported in: 2.0, 4.0, Portable

See Also

Reference

Microsoft.FSharp.Quotations Namespace (F#)