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

Subject: Re: [xsl] Vendor extensions for XSLT - higher order functions
From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx>
Date: Mon, 23 Jul 2007 11:47:48 -0700
On 7/23/07, cknell@xxxxxxxxxx <cknell@xxxxxxxxxx> wrote:
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.

I am sorry if you have similar difficulties in regards to FXSL. It is pretty basic stuff and certainly requires some training like we all need for such basic real-world activities as driving, swimming, biking.

Some people are making simple things look complicated talking about
the "functional programming paradigm" or the need of "paradigm shift".

The same goes for "theoretical computer science" vs "practical
business" problems.

Most programs contain implementations using/dealing-with some most
basic concepts such as mapping, folding, repetition/iteration, list
processing. The same is with books: they all contain words, regardless
on what topic of the book.

If we want to read a book, we must know the alphabet and the language.

If we want to write a program that implements a particular algorithm,
we must understand the building block/concepts of that algorithm.

Both activities require some minimum level of training.

For me, the most attractive feature of FXSL is that it *requires
learning*. The result of this learning may be much more important than
using FXSL itself.

Of course, one may decide not to learn to read because reading is an
academic exercise, but most people stop thinking so after reading a
book for the first time.



--
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


P.S.


Two books I'd be buying these days:

1. Programming Erlang

2. The Definitive ANTLR Reference: Building Domain-Specific Languages



--
Charles Knell
cknell@xxxxxxxxxx - email



-----Original Message-----
From:     Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Sent:     Mon, 23 Jul 2007 09:09:00 -0700
To:       xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject:  Re: Re: [xsl] Vendor extensions for XSLT - higher order functions

On 7/23/07, cknell@xxxxxxxxxx <cknell@xxxxxxxxxx> 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@xxxxxxxxxx - email > > > > -----Original Message----- > From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> > Sent: Mon, 23 Jul 2007 06:52:36 -0700 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > 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@xxxxxxxxxxxx> 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/ > >


-- 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




--
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

Current Thread