Patterns.LetRecursive Active Pattern (F#)

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

Namespace/Module Path: Microsoft.FSharp.Quotations.Patterns

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

// Signature:
( |LetRecursive|_| ) : (input:Expr) -> ((Var * Expr) list * Expr) option

Parameters

  • input
    Type: Expr

    The input expression to match against.

Return Value

The formal return type is ((Var * Expr) list * Expr) option. The option indicates whether the input results in a match. In a pattern matching expression, the input is decomposed, upon a successful match, into a tuple that contains two elements. The first element is a list of tuples that has two elements. The first element of the inner tuple is a Var object that represents the value being defined. The second element of the inner tuple represents the body of a recursive let binding. The second element of the outer tuple is the subexpression in which the binding is in scope.

Remarks

This function is named LetRecursivePattern in the .NET Framework assembly. If you are accessing the member from a .NET Framework language other than F#, or through reflection, use this name.

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

Quotations.Patterns Module (F#)

Microsoft.FSharp.Quotations Namespace (F#)