forum@x9c.fr a écrit : > > Le 24 nov. 08 à 17:52, Yoann Padioleau a écrit : > >> forum@x9c.fr writes: >> >> Hi Xavier, >> >>> Selon Stefano Zacchiroli : >>> >>>> (...) >>> >>> I was indeed aware of oUnit when I started working on Kaputt. >>> The initial intent was to provide OCaml with something along >>> the lines of the QuickCheck library developed for Haskell >>> (http://www.cs.chalmers.se/~rjmh/QuickCheck/). Clones of QuickCheck >>> exist for various languages (caml-list@inria.fr) but not for OCaml, >> >> Actually I posted a few years ago a small module imitating parts of >> quicheck: >> >> http://aryx.kicks-ass.org/~pad/ocaml/quickcheck.ml > > Sorry, I failed to remember this. > > >> Apparently they even now use my ugly file in the Janet Street Core >> Library. >> >> >>> even if a QuickCheck equivalent is provided by the Reins library >>> (http://ocaml-reins.sourceforge.net/). >> >> I didn't find much in this ocaml reins library ... and it >> looks quite heavy in functors ... > > Yes, I indeed wanted to rely upon functions/combinators instead. > It seems lighter this way. > > >> Your library looks very good, very clean. I just noticed you missed >> the 'pair' and 'tuple' random generators. > > Well, maybe their names are not intuitive but Generator.zip{1..5} > allows to combine n generators into a generator returning tuples > of order n (zip1 being the identity function). > > >> One criticism is that like many other libraries, such as oUnit, >> ocamlcalendar, they seem a little bit heavyweight. You got hundreds >> of functions, 5 modules ... > > That's true but it seems hard to have a combinator-based library with > few functions/combinators. With too few combinators, you leave too > much work to the developer (including a lot a boilerplate code). > With too many combinators, you request the developer to take more > time in order to use the library. I find it hard to calibrate the size of > the library. > > Maybe things could be done in a lighter way by using objects ? Or a camlp4 extension to build the intended function(s) by induction on the type definition. you could include that as part of deriving (http://code.google.com/p/deriving/) Hope this helps, Christophe > > > Xavier > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > -- Christophe Raffalli Universite de Savoie Batiment Le Chablais, bureau 21 73376 Le Bourget-du-Lac Cedex tel: (33) 4 79 75 81 03 fax: (33) 4 79 75 87 42 mail: Christophe.Raffalli@univ-savoie.fr www: http://www.lama.univ-savoie.fr/~RAFFALLI --------------------------------------------- IMPORTANT: this mail is signed using PGP/MIME At least Enigmail/Mozilla, mutt or evolution can check this signature. The public key is stored on www.keyserver.net ---------------------------------------------