Patterns

Namespace

Brahma.FSharp.OpenCL.Translator.QuotationTransformers

Active patterns

Active patternSignatureDescription
#( |ApplicationUncurry|_| )(expr)expr:Expr -> (Expr * Expr list) option

e0 e1 e2 e3 => (e0, [e1; e2; e3])

CompiledName:|ApplicationUncurry|_|

#( |GlobalVar|_| )(_arg1)_arg1:Expr -> Var option

CompiledName:|GlobalVar|_|

#( |HasSubExpr|_| ) |Pattern|_| expr|Pattern|_|:(Expr -> Option<'a>) -> expr:Expr -> 'a option

CompiledName:|HasSubExpr|_|

#( |HasValueAsSubExpr|_| )(expr)expr:Expr -> (obj * Type) option

An active pattern to recognize any value expression which is an arbitrary depth subterm of the expression

CompiledName:|HasValueAsSubExpr|_|

#( |LetFuncUncurry|_| )(expr)expr:Expr -> (Var * Var list * Expr * Expr) option

let f x1 x2 x3 = body in e => LetFuncUncurry(f, [x1; x2, x3], body, e)

CompiledName:|LetFuncUncurry|_|

#( |LetFunc|_| )(expr)expr:Expr -> (Var * Expr * Expr) option

CompiledName:|LetFunc|_|

#( |LetVar|_| )(expr)expr:Expr -> (Var * Expr * Expr) option

CompiledName:|LetVar|_|

#( |NewPrintfFormat|_| )(expr)expr:Expr -> (Type list * string) option

An active pattern to recognize lambda expression, that obtained from printf/printfn function. Example: printf "%d %f" -> ([Int, Float], "%d %f")

CompiledName:|NewPrintfFormat|_|

#( |PartialPrintf|_| )(expr)expr:Expr -> (Type list * string * Expr list) option

CompiledName:|PartialPrintf|_|

#( |Printf|_| )(expr)expr:Expr -> (Type list * string * Expr list) option

CompiledName:|Printf|_|

#( |ValidVolatileArg|_| )(_arg1)_arg1:Expr -> Var option

CompiledName:|ValidVolatileArg|_|