|
Subject: [xsl] XPath 3.0 How to implement the function composition operator? From: "Costello, Roger L." <costello@xxxxxxxxx> Date: Mon, 15 Oct 2012 22:08:58 +0000 |
Hi Folks,
How is function composition implemented in XPath 3.0?
Example: Suppose I want to compose these two function:
1. increment: this function increases its argument by 1.
2. double: this function multiplies its argument by 2.
In Haskell I can compose the two functions like so:
f = double . increment
And then I can apply the composed functions to an argument:
f 2
The result is 6.
How is f implemented in XPath 3.0?
Here is my attempt, which is not correct:
let $increment := function($x as xs:integer) {$x + 1},
$double := function($y as xs:integer) {$y * 2},
$compose := function(
$a as
function(item()*) as item()*,
$b as
function(item()*) as item()*
)
as item()*
{$b($a)},
$f := $compose($double, $increment)
return $f(2)
What is the correct way?
/Roger
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] XPath 3.0: Is it possible, Dimitre Novatchev | Thread | Re: [xsl] XPath 3.0 How to implemen, Michael Kay |
| Re: [xsl] XPath 3.0: Is it possible, Dimitre Novatchev | Date | Re: [xsl] XPath 3.0 How to implemen, Michael Kay |
| Month |