Balisage Paper: A catalog of Functional Programming idioms in XQuery 3.1
James Fuller
MarkLogic
James Fuller works in engineering at MarkLogic on the world's leading enterprise NoSQL database. James is a passionate XML stack enthusiast writing articles and giving presentations on all things XML in addition to contributing to the W3C XML Processing Working Group.
Copyright © 2016 by the author. Used with permission.
Abstract
A wild rummage through the treasure chests of the highest towers and deepest vaults of Functional Programming revealing functional idioms in XQuery 3.1 form - memoisation, partitioning, currying, numerical methods, algebraic data types, grammar based parsing, constraint programming and more. Each idiom is presented as an answer to a common programming problem provided as a handy reference catalog. The exploration will end with a few examples of how easily functional idioms compose up to solve more complex problems.