[xsl] Article: Dynamic Functions using FXSL: Composition, Partial Applications and Lambda Expressions

Subject: [xsl] Article: Dynamic Functions using FXSL: Composition, Partial Applications and Lambda Expressions
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Sun, 17 Mar 2002 21:50:58 -0800 (PST)
"Dynamic Functions using FXSL: Composition, Partial Applications and
Lambda Expressions"

http://www.topxml.com/xsl/articles/df

This one is at least as important (if not more) than the first article
on functional programming in XSLT. I think it will be most useful for
people, who are interested in further understanding and using FP in
XSLT.

Contents:

Introduction
  1. Functional composition, curried functions, partial applications
and lambda expressions.
  2. Implementation of functional composition in XSLT. Examples.
  3. Implementation of currying and partial application in XSLT.
  4. Using currying and partial application - the iter and power
functions.
  5. Creating a new function dynamically - the calculator-store
problem.
Conclusion

And two excerpts:

"This article is a follow-up from the recent publication "The
Functional Programming Language XSLT". Provided here is the answer to a
FAQ about functional programming in XSLT: Can functions be created
dynamically during run-time and what are some general ways to achieve
this?. Using the XSLT functional programming library FXSL, examples are
given of performing functional composition, currying and partial
application of functions, as well as of dynamically creating a
function, which corresponds to a lambda expression."

"This article demonstrated and explained the details of an XSLT
implementation of three major ways of dynamically creating functions
and using them:

 - Single and multiple function composition. 
 - Currying of functions and partial application of curried functions. 
 - Lambda expressions. 

The XSLT implementation of partial application is more powerful than
the Haskell one, because it allows binding of arguments regardless of
order. At the same time partial application in XSLT is very convenient,
using the traditional XSLT way of specifying arguments through
xsl:with-param.

Currying and partial application support has been included in the
latest release of the functional programming library FXSL.

Also demonstrated was a general way to model and implement in XSLT
objects having inheritance and virtual functions."


Cheers,
Dimitre Novatchev.




__________________________________________________
Do You Yahoo!?
Yahoo! Sports - live college hoops coverage
http://sports.yahoo.com/

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread