Having been forced to use XSLT for a short period some years ago, my initial reaction to your suggesting that it is an FP language was one of complete and utter disbelief. However, I googled and found several people making a similar suggestion.

I have to say that I find it almost impossible to relate my experience of programming XSLT as anything like my experience of programming in any of several real FP languages. Indeed, I wouldn't wish XSLT upon anyone, not even my worst enemy. I see it has it's uses for performing a limited set of very specific types of transformations upon large volumes of XML encoded data, but as a general purpose programming language (IMO) it is a disaster.

The analogy that comes to mind is: Given the increasingly powerful processors available in mobile phones, and combining them with the nearly ubiquitous presence of video-capable digital cameras, it would be possible to program them to allow you to type SMS texts by placing the phone on a work surface and using Semaphore. I have absolutely no doubts it could be done, but would anyone really use it?

(IMO) XSLT is the absolute antithesis of FP. Just look at all the needlessly repetitive verbosity XSLT entails.

And whilst it supports (after a fashion) high order functions, imagine trying to do the holy grail of FP: Fixed Point Combinators using XSLT?

Aristotle demonstrated how to do the Y combinator in Perl a while back. Now compare that to the same thing in Q: _Y = \F.(\X.F '(X X)) (\X.F '(X X));

If the Perl version is an order of magnitude more complex and verbose than the Q version, I can only imagine that the XSLT would be one order more complex and two orders more verbose than the Perl. That's if it is possible to do it at all. And IMO, that totally negates any claim that XSLT is a FP language.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
"Too many [] have been sedated by an oppressive environment of political correctness and risk aversion."

In reply to Re^3: New Year's Resolution: learn another language by BrowserUk
in thread New Year's Resolution: learn another language by Cody Pendant

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.