David Tolpin wrote:
Unfortunately, some functional languages (XSLT included) lack a built-in
support for controlling side-effects.
Haskell has the notion of a Monad class built-into the language and any
programmer simply uses the IO (or any other suitable type) Monad, when
this is necessary.
The only thing is that Monads are not built into the language. IO Monads
are built-in, but, in the same sense as print capabilities are built into
some languages, it does not mean that all functions are built-in.
Monads are just continuation passing -- many things are expressed with Monads,
and can be done with any facility with first-order functions.
Monads are as good in Java, Scheme, Ruby, and even in python as they are in
Haskell,
the thing XSLT lacks is first-order functions, not Monads.
Hi David,
You have been providing some impressive posts. What do you mean by
first-order functions? Do you see it as a failing of XSLT or something
that it should not be concerned about?
best,
-Rob
David Tolpin
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list