Patterns.Application Active Pattern (F#)

Recognizes expressions that represent applications of first-class function values.

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

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

// Signature:
( |Application|_| ) : (input:Expr) -> (Expr * Expr) option

Parameters

  • input
    Type: Expr

    The input expression to match against.

Return Value

The formal return type is (Expr * Expr) option. The option indicates whether a match exists. When you use the active pattern in a match expression, you use the tuple of two expressions directly to decompose the pattern.

The tuple contains two expressions that result from the decomposition of a curried function application expression. If there is one curried argument, the first expression represents the function name and the second expression represents the argument. If there are multiple curried arguments, the first expression is itself a function application that contains all the curried arguments except the last, and the second expression represents the last curried argument. The first expression can be recursively processed to decompose the next curried argument of the function.

Remarks

This function is named ApplicationPattern 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 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

Quotations.Patterns Module (F#)

Microsoft.FSharp.Quotations Namespace (F#)