- From: Benito van der Zander <benito@benibela.de>
 - Date: Mon, 30 Nov 2020 23:31:57 +0100
 - To: Michael Kay <mike@saxonica.com>
 - Cc: public-xslt-40@w3.org
 - Message-ID: <c077e10d-4efb-d659-6d79-f359dd7f9ef3@benibela.de>
 
Hi,
> In the 20 years since XSLT 1.0, a large part of the user community has 
> become familiar with functional programming paradigms as applied to 
> languages such as Javascript, Python, and indeed Java, and 1.0 for 
> these users seems more and more dysfunctional (pun intended). I don't 
> think your view is typical.
Being able to do functional programming without hof was the best part of 
XPath 2.
Like in x[y]/z you get a filter for y and a map to z, but there are no 
functions involved
It was much better than doing the equivalent tasks with hof in other 
languages like x.filter(function(){return y}).map(function(){return z})
For any new hof with single arity parameter, one could invent an 
equivalent syntax without hof.
For example, index-where(A, function(){B})  could be written as A@[B]
 >The expression |fn:index-where((0, 4, 9), fn:boolean#1)| returns |(2, 3)|.
Would become |(0, 4, 9)@[fn:boolean(.)]|
 >The expression |fn:index-where(1 to 10, .{. mod 2 = 0}))| returns |(2, 
4, 6, 8, 10)|.
Would become (1 to 10)@[. mod 2 = 0]
>
> This is some of the thinking behind allowing abbreviated inline 
> functions such as
>
> group-by(//employees, ->{@location})
Well, that is better than function(...
Best,
Benito
Received on Monday, 30 November 2020 22:32:20 UTC