Xquery version 0.9-ml to xquery version 1.0-ml updation - xquery

We have used these two files from marklogic community/common i.e cookies.xqy and dateparser.xqy
https://github.com/marklogic-community/commons/tree/master/http
https://github.com/marklogic-community/commons/tree/master/dates
now we are looking to switch to the latest version of marklogic i.e 10.0-2.1
and xquery verion 0.9-ml is deprecated in it . so we have to manually do the changes in these files or do we get it from anywhere.

The statefull-cookies.xqy file is in 1.0-ml syntax already, so you only need to rewrite cookies.xqy which would be minor changes, like replacing define with declare and some extra semi-colons.
The date library might a bit more work, although you could consider using this package instead. It is not an exact match, but pretty powerful, and thoroughly tested in the field:
https://github.com/grtjn/ml-datetime
Feel free to open tickets against it if there is functionality in commons/date lacking in ml-datetime.
HTH!

Related

Is it possible to include the os library in lua 4.0?

I'm stuck using the 4.0 version of lua which does not seem to support the os library. Is there a way to include this library into my project?
Or get another way to use the functionality contained within pertaining to date time calculations?
Preferably by using a *.lua file and not a *.c file since I don't have complete access to the code.
When I run the following line,
print(os.time{year=1970, month=1, day=1, hour=0})
I get an error stating:
attempt to index global 'os'(a nil value)
As #Colonel Thirty Two said it's not possible to use the os library. So the time() funciton is not available for me.
Adding to the (totally correct) currently accepted answer (that if "os" access was not allowed to you, you're generally done), there's some very slight chance the Original Programmer may have provided you with some alternative facilities to do your thing (fingers crossed). In a perfect world, those would be described in some kind of a User's Manual for your scripting environment. But if the manual was lost to time (or never existed in the first place), you might possibly try your luck at exploring any preloaded libraries by digging through the result of the globals() Basic Function. (At least I hope that's how it was done in 4.0 too.) That is, if the Original Programmer didn't block globals() for you too...

Is it safe to upgrade Meteor's Underscore to 1.7.0?

This is coming from this topic:
Best way to take out keys with invalid (NaN, blank, etc) values from an object?
I couldn't get the commenter's underscore method to work because Meteor only uses Underscore 1.0.0, and certain functions don't work like Underscore 1.7.0 does.
From the Meteor Docs:
We have slightly modified the way Underscore differentiates between objects and arrays in collection functions. The original Underscore logic is to treat any object with a numeric length property as an array (which helps it work properly on NodeLists). In Meteor's version of Underscore, objects with a numeric length property are treated as objects if they have no prototype (specifically, if x.constructor === Object.
So it appears that Meteor has changed Underscore a tad.
Has anyone here forced Meteor to use Underscore 1.7.0 in their app and gotten any weirdness?
If you look at the history of the underscorejs package in the meteor repository, you'll see that they actually changed the underscorejs library instead of monkeypatching it. (here and here)
So I would strongly recommend against upgrading the underscorejs version.
If you really really must upgrade, I suggest trying to apply the commits of the meteor version to the latest version. Luckily the package does contain tests for the fixes the meteor team did. So start with upgrading the underscorejs file and then running the tests if they all pass you're probably good to go.

Version diff in alfresco

Alfresco allows uploading newer versions of documents in the repository and also keeps track of the version history, it seems. However, I could not find any way to compare or diff a document with its prior versions.
Is this possible? are there any good external plugins or tools for this?
I assume you think of something similiar to the good old Unix diff tool which basically compares text files and can show the result in a human readable form.
The general equivalent situation in alfresco is far more complicated. You have an arbitrary amount of properties of different type. The text file you might think of just happens to have character bytes in cm:content.
So to answer your question : I don't know of any extension providing a general diff between versions, but it should not be two hard rolling your own for text files other simple special comparisons. In the former case you might want to have a look at Java library for free-text diff for libraries providing the base functionality.
Looking for the same functionality and found this Alfresco addon
http://code.google.com/p/versions-difference-alfresco-plug-in/

ACSL set logic / frama-c syntax error

I am using the Nitrogen version of Frama-c on Mac, and can't seem able to use
the "set" logic, as documented in the ACSL manual, e.g., I can't declare
a ghost variable as in "//# ghost set<integer> someSet;".
The frama-c program always complains about a syntax error in the line where a set is declared, no matter what.
I also tried "Set" instead of "set", other types in place of "integer" (e.g. "char*")and specifying "//# open set;" to import the module.
Maybe I need to specify some command line option? Executing "frama-c -kernel-help" it's not clear what that would be though.
Or maybe the Mac version (I downloaded the Intel binary version) is outdated and I should compile the latest source code ?
Thanks, best regards,
Eduardo
ACSL is an annotation language that exists independently of Frama-C, although some of the same persons work on both. From the point of view of usage of ACSL in a Frama-C plug-in, there are three levels of definition/implementation, and you need all three to be able to use a feature:
The feature must be part of the ACSL language.
It must be made available by the current Frama-C front-end. Not all features of the ACSL language are immediately implemented in the front-end.
The plug-in you intend to use must take advantage of it.
Another explanation of the same distinction is here.
I can't declare a ghost variable as in "//# ghost set someSet;".
In your case, it appears that the partially implemented feature is not so much sets (which seem implemented in the front-end after a quick look) but ghost code, which can currently only use C constructs and types.
Or maybe the Mac version (I downloaded the Intel binary version) is
outdated and I should compile the latest source code ?
You have the latest version at this time.

Sqlite bindings for OCaml

I have been looking for SQLite bindings for OCaml. I stumbled upon ocaml-sqlite3 which looks good and current, but there is no documentation whatsoever about how to use it.
There is some very old documentation (API reference only) of an obsolete ocaml-sqlite binding that was discontinued in 2004. But it really doesn't look current and probably is already quite different from the updated version I found (listed in the above link).
I was just wondering if anybody has some documentation, examples or clue at all of how these libraries work. I could go through the code, but I'd like to keep that option as the last resource.
Howdy. The ocaml-sqlite3 library you mentioned does, in fact, have documention; you just have to build it with make doc. It's included in the comments in the .mli file as well; you can have a look here: http://hg.ocaml.info/release/ocaml-sqlite3/file/b28bff3ff215/sqlite3.mli . I realize it's basically just an API reference, but it looks fairly comprehensive.
In addition to phooji's answer, please note that the API follows closely the C sqlite library. Thus, any Sqlite book should help you to use the OCaml binding. And you are correct about which version to use; the one here: http://www.ocaml.info/home/ocaml_sources.html.

Resources