Re: [expath] EXPath File Module, Update

On 28 July 2012 18:15, Christian Grün wrote:

  Hi Christian,

> Resulting functions would probably look similar to the
> following expression:

>   let $id := file:open('.....')
>   return ( file:append($id, ...), file:append($id, ...), ... )

> Due to the functional nature of XQuery, however, a processor
> could still decide to execute the second file operation before
> the first.

  The point here is to be able to not call them sequentially, but
to make a "functional dependency" between calls by "chaining"
them using one call return value as an input param for the
following calls:

    let $id1 := file:open('...')
    let $id2 := file:append($id1, ...)
    let $id3 := file:append($id2, ...)
    return
      whatever using (or not) $id3

or:

    file:append(file:append(file:open('...'), ...), ...)

or indented differently:

    file:append(
      file:append(
        file:open('...'),
        ...),
      ...)

  As far as I know, that's the natural way how functional
languages solve the temporal dependency between two calls of
side-effect functions (that is, by materializing within the
functional language itself the side-effect change as a return
value change).

  That does not rely on anything else than the usual dependencies
between regular XPath function calls, unless I missed something.

  Regards,

-- 
Florent Georges
http://fgeorges.org/
http://h2oconsulting.be/

Received on Saturday, 4 August 2012 14:40:08 UTC