Relational types in Caml We are pleased to announce the 0.7.0 version of Moca (a.k.a the Trianon version), a general construction function generator for relational types in Objective Caml. In short: ========= Moca allows the high-level definition and automatic management of complex invariants for data types; Moca also supports the automatic generation of maximally shared values, independantly or in conjunction with the declared invariants. In addition, a flag of the compiler triggers the generation of memoized construction functions. Moca's home page is http://moca.inria.fr/ Moca's source files can be found at http://moca.inria.fr/archive/moca-0.7.0.tgz Moca is developped by Pierre Weis, Frédéric Blanqui, and Richard Bonichon (see the file AUTHORS in the main directory of the distribution). What's new in this release ? ============================ -- More stable code base: automatic test generation handles polymorphic types, support of OCaml V3.12 syntax, many rewrttings and simplifications. -- API (new user's features and facilities): * Construction functions can be memoized: - new option -memo. - new option -memo-hash-table-size to set the size of memoization tables for construction functions. -- Internals: new compilation scheme for construction functions. * Compilation of listary generators rewritten from scratch. * Compilation scheme of unary and binary generators no more uses exceptions. A special ordering (per generator) is now generated to handle associative/commutative generators. -- New web site and enhenced documentation; in particular, the Ocamldoc generated documentation is now available on the web site. In conclusion: ============== Anyhow, we think Moca is now mature and reliable. Do give it a try and don't hesitate to send your constructive remarks and contributions ! Fait à Rocquencourt, le 4 juin 2012. Pierre Weis & Frédéric Blanqui & Richard Bonichon.