xsl-list
[Top] [All Lists]

Re: [xsl] Vendor extensions for XSLT - higher order functions

2007-07-23 09:52:49
You misunderstand. Michael's remark on the type of examples that ought to be 
given was (from the perspective of a working programmer who has read and spent 
thousands of dollars on books over the years) was excellent.

I, like many, many (may I even say most) programmers have come to the craft by 
way of job necessities rubbing up against tools, and fueled by imagination and 
curiosity, with little or no formal training in the academic discipline of 
programming. I have heard of Don Knuth, and even seen his books on the shelves 
at book stores, but I don't claim to have read them.

So examples showing how to use a function to solve a practical business problem 
are much easier for me to grasp than examples that demonstrate solving a 
theoretical computer science problem.
-- 
Charles Knell
cknell(_at_)onebox(_dot_)com - email



-----Original Message-----
From:     Dimitre Novatchev <dnovatchev(_at_)gmail(_dot_)com>
Sent:     Mon, 23 Jul 2007 09:09:00 -0700
To:       xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject:  Re: Re: [xsl] Vendor extensions for XSLT - higher order functions

On 7/23/07, cknell(_at_)onebox(_dot_)com <cknell(_at_)onebox(_dot_)com> wrote:
You do yourself a favor when you listen to criticism, especially 
well-intentioned criticism from a source with experience in the field.


Oh, my statement on the need to learn was not a criticism -- just
stating a fact.


--
Charles Knell
cknell(_at_)onebox(_dot_)com - email



-----Original Message-----
From:     Dimitre Novatchev <dnovatchev(_at_)gmail(_dot_)com>
Sent:     Mon, 23 Jul 2007 06:52:36 -0700
To:       xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject:  Re: [xsl] Vendor extensions for XSLT - higher order functions

FXSL, unfortunately, is so powerful that I think many "ordinary" users find
it rather daunting. A gentler introduction, using examples from the world of
commercial IT systems rather than computer science, would help to sell it to
the general public.

There is nothing so powerful in FXSL and it implements some most basic 
concepts.

Concepts like: fold, map, compose, repeat/iterate   -- form the
alphabet of programming.

Certainly, if someone has arrived at grade 5 in school and still
doesn't know the alphabet, this person will find reading even ordinary
text rather "daunting".

To summarize, FXSL provides a big potential to learn, requires
learning, and this is even a bigger value than simply the provided
functionality.


--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play

On 7/21/07, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:
I am curious to know why some XSLT vendors have implemented
one or more XSLT extension functions with their product to
make for the implementation of higher-order functions (HOF) in XSLT.

In the case of Saxon, it was needed by an XQuery user, and availability in
XSLT was just a spin-off. It's not possible to use the FXSL approach in
XQuery because it relies on xsl:apply-templates. In fact, this kind of
capability is needed much more in XQuery because even without FXSL, there
are many things you can do with xsl:apply-templates to handle dynamic
content that have no simple solution in XQuery.

In fact, in business applications I far more often see the need for
saxon:evaluate() (in both XSLT and XQuery) where expressions are constructed
at run-time from strings. But saxon:evaluate() is easy to understand, and it
often gets used to solve problems where compile-time higher-order functions
would be a cleaner and more efficient solution.

FXSL, unfortunately, is so powerful that I think many "ordinary" users find
it rather daunting. A gentler introduction, using examples from the world of
commercial IT systems rather than computer science, would help to sell it to
the general public.

Michael Kay
http://www.saxonica.com/


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




-- 
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--