[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: The real harm is in functions with side effects (W

Subject: Re: The real harm is in functions with side effects (Was: Re: Using Extension Functions - Its Efficiency)
From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx>
Date: Tue, 20 Jan 2004 20:56:30 +0100
simon payton jones
"Kurt Cagle" <kurt@xxxxxxxxxxxxx> wrote in message
news:00b101c3de6d$be5997d0$6500a8c0@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> Dmitri,
>
> I'm somewhat familiar with monads in Haskell; I actually had a chance last
> year to delve into Haskell in preparation for a class that I didn't end up
> taking after all (long story), but the notion of the monads makes a great
> deal of sense. In essence, you are creating an algebra of functional
> compositions to effect type constructors, as I understand the theory.
>
> This bias of course is not completely unheard of on the imperative side.
It
> took me a long time to really understand why Kernighan and Ritchie did not
> include i/o as a core functionality of the C language (ditto Pascal) and
it
> was really only with the fact that K&R understood the implicit problems
with
> side-effect-oriented languages but didn't yet have a foundation upon which
> to formalize that relationship (as C preceded Haskell by several years, if
> memory serves).
>
> Perhaps the question that should be raised at this stage is whether in
fact
> there is a way to introduce monadic characteristics into XSLT2 at this
late
> date. I'm currenly working on a publishing system that is HEAVILY XSLT2
> based, and struggling to keep my programmers on the straight and narrow
wrt
> side-effect oriented language. Could you point me to the direction of your
> monographs on monads in XSLT2? I remember skimming it once, but I was
heads
> down in SVG code at the time and hadn't really taken the time to
understand
> it.


Hi Kurt,

I am really sorry I was very busy the last two days, so now is the first
moment I can address your post in the xsl-list -- and it needs serious
attention.

Please, find attached (off-list) the zip archive containing all necessary
files.

Unfortunately, there's no documentation. The templates generally follow the
functions in Simon Payton-Jones "Tackling the awkward squad: monadic
input/output, concurrency, exceptions, and foreign-language calls in
Haskell," which can be found at:

http://research.microsoft.com/Users/simonpj/papers/marktoberdorf/

To get a feeling what this package can do it is best to run the testDo.xsl
transformation against any xml source document (ignored).

I have implemented the "do notation" and the examples show how it
works -- sequence of arithmetic calculations with or without brackets, using
repeatedly multiple variables, which can be updated, I/O (reading text with
getchar),
even exceptions.


Ideally I will try to find some time to write an article, especially if I
receive some positive feedback.

Please, feel free to ask any questions.


Cheers,

Dimitre Novatchev.
FXSL developer, XML Insider,

http://fxsl.sourceforge.net/ -- the home of FXSL
Resume: http://fxsl.sf.net/DNovatchev/Resume/Res.html




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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.