com.saxonica.hof
contains code to support higherorder functions.See: Description
Class  Description 

ApplyFn 
This class implements the function fn:apply(), which is a standard function in XQuery 3.1.

AtomicConstructorFunction 
A function item representing a constructor function for an atomic type

CallableWithBoundFocus 
A Callable that wraps another Callable and a Dynamic Context, in effect acting as a closure that
executes the original callable with a saved context.

CoercedFunction 
A function item obtained by coercing a supplied function; this adds a wrapper to perform dynamic
type checking of the arguments in any call, and type checking of the result.

CurriedFunction 
A function obtained by currying another function, that is, the result of calling
fn:partialapply

FilterFn 
This class implements the function fn:filter(), which is a standard function in XQuery 3.0

FoldLeftFn 
This class implements the function fn:foldleft(), which is a standard function in XPath 3.0

FoldRightFn 
This class implements the function fn:foldright(), which is a standard function in XQuery 1.1

ForEachFn 
This class implements the function fn:foreach() (formerly fn:map), which is a standard function in XQuery 3.0

ForEachPairFn 
This class implements the function fn:foreachpair() (formerly fn:mappairs()), which is a standard function in XQuery 3.0

FunctionArity 
This class implements the function functionarity(), which is a standard function in XPath 3.0

FunctionLiteral 
A FunctionLiteral is a wrapper around a FunctionItem; it is an expression, whose value is the function
that it wraps.

FunctionLookup 
This class supports the functionlookup() function in XPath 3.0.

FunctionName 
This class implements the function functionname(), which is a standard function in XPath 3.0

FunctionSequenceCoercer 
An FunctionSequenceCoercer is an expression that performs function coercion on a sequence of function items:
it takes a sequence of supplied items as input, and wraps each one in a CoercedFunction value, which dynamically
converts the supplied arguments to the required type, and converts the result in the opposite direction, or
throws a type error if conversion is not possible.

FunctionSequenceCoercer.Coercer  
InlineFunction 
A function item representing an anonymous inline function.

PartialApply 
This expression class implements the operation of currying (or performing partial application) of a function.

RandomNumberGenerator 
This class implements the function randomnumbergenerator(), which is a standard function in XPath 3.1

SortTwo 
This class implements the function fn:sort#2, which is a higherorder function in XPath 3.1
available only in SaxonPE and above

SystemFunctionLibraryPE  
TypeHierarchyPE 
TypeHierarchy for SaxonPE

UserFunctionReference 
A UserFunctionReference is an expression in the form local:f#1 where local:f is a userdefined function.

UserFunctionReference.BoundUserFunction 
The package com.saxonica.hof
contains code to support higherorder functions.
Higherorder functions are supported in XQuery 1.1 using native language syntax, and they
are also available in other environments (including XSLT) using the Saxon extension functions
saxon:function()
and saxon:call()
.
Michael H. Kay
Saxonica Limited
12 June 2009
Copyright (c) 20042014 Saxonica Limited. All rights reserved.