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

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  
LoadXqueryModule 
This class implements the function loadxquerymodule(), which is a standard function in XPath 3.1.

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

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

SystemFunctionWithBoundContextItem 
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.

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

UserFunctionReference.BoundUserFunction 
A BoundUserFunction represents a userdefined function seen as a component.

The package com.saxonica.hof
contains code to support higherorder functions.
Higherorder functions are supported in XSLT 3.0, XPath 3.1, and XQuery 3.1, in SaxonPE and SaxonEE only.
The package includes code to support both the core facilities of dynamic creation and invocation of function
objects, and also specific higherorder functions defined in the Functions and Operators library
such as fn:filter
, fn:foreach
and fn:foldleft
.
Copyright (c) 20042020 Saxonica Limited. All rights reserved.