|
[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message] flowrrr - how to structure a function?Martin Probst martin at x-hive.comWed Oct 18 23:56:37 PDT 2006
> Martin Probst wrote: >> I think Wolfgang's function library in eXist (http://demo.exist- >> db.org/xquery/functions.xq) also includes functions to create user >> sessions, this might be more difficult to make side-effect free. >> I.e. if session:create(), session:set-current-user() and >> session:invalidate() return values if called in the right order, >> but give errors if called in the wrong order, it's much more >> difficult because you need to provide access to those values. I'm >> not picking on you Wolfgang, I rather think your library is a good >> example of what one does need in webapps. > > All that would need to be done to make functions like that side- > effect free is to postpone the actual changes until after the query > has exited. You would then only have to define what would happen if > two such postponed changes contradicted each other. This is the > approach that XQuery Update seems to be taking. I think that's not enough - if your function has a side effect _and_ returns a value (based on the side effect), you cannot postpone evaluation like in XQuery Updates, because the user needs his values right now. Also you'd still need to ensure correct call order in some way, which is (at least at the moment) not relevant to XQuery Updates. Regards, Martin -- Martin Probst X-Hive Corporation http://x-query.com/mailman/listinfo/talk
|
Purchase Stylus Studio Online Today!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|






