Jane Street's Core_kernel has Time_ns module. Time is represented as an int, number of nanoseconds since unix epoch. Time_ns.now uses clock_gettime(CLOCK_REALTIME) There are also usual functions for operating on time and time spans. Not sure if Core_kernel is too big for your project. Hi, I was searching for an existing library implementing a clock_gettime(2) function that would deliver a ‘struct timespec’ [1] with the current time. I want it for my POSIX message queue implementation [2] for the timed functions that require an absolute ‘struct timespec’ for their timeout. So what a user of mqueue requires is a 1.) function to get the current time as ‘struct timespec’ and 2.) to add seconds/nanoseconds to such a value to create a timeout. The existing solutions I found: * The Unix library [3] implements ‘struct timeval’ as float (only microseconds, imho the float conversion is a bit of a hack — a clever one though) * Netsys.clock_gettime from ocamlnet [4] implements ’struct timespec’ but has it as float/int for seconds/nanoseconds (whats with the float? All systems I found use either in32 or int64 for time_t) * Mtime [5] implements clock_gettime(2) but seems to only offers relative values * Ptime [6] appears to be the uber-POSIX time implementation but lacks clock_gettime (and probably always will) I’d like my library to be a good OCaml citizen and _not_ implement my own special purpose timing functions (which are incompatible to everyone else’s). Ptime looks like the ultimate solution for the datatype; ocamlnet gets the closest to my requirements — while being a gigantic library most of which has nothing to do with the domain of mqueue. I’m a bit stuck on this one and would like to get some advice — and/or corrections if I misinterpreted one of the above solutions. regards -Markus [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/time.h.html [2] http://mqueue.forge.ocamlcore.org/ [3] http://caml.inria.fr/pub/docs/manual-ocaml/libref/Unix.html [4] http://projects.camlcity.org/projects/dl/ocamlnet-4.0.4/doc/html-main/Netsys_posix.html [5] http://erratique.ch/software/mtime [6] http://erratique.ch/software/ptime -- Markus Weißmann, M.Sc. Technische Universität München Institut für Informatik Boltzmannstr. 3 D-85748 Garching Germany http://wwwknoll.in.tum.de/ -- Caml-list mailing list. Subscription management and archives: https://sympa.inria.fr/sympa/arc/caml-list Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs