Version française
Home     About     Download     Resources     Contact us    
Browse thread
[ANN] Kaputt 1.0 alpha
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Yoann Padioleau <padator@w...>
Subject: Re: [Caml-list] [ANN] Kaputt 1.0 alpha
forum@x9c.fr writes:

Hi Xavier, 

> Selon Stefano Zacchiroli <zack@upsilon.cc>:
>
>> On Sun, Nov 23, 2008 at 09:57:37PM +0100, barista@x9c.fr wrote:
>> > This is clearly alpha work, so any suggestion/criticism will be
>> > welcome in order to enhance/correct it.
>>
>> Hi Xavier, thanks for this.
>>
>> You are probably aware of oUnit [1] which, AFAIK, was the only testing
>> library available for OCaml thus far. Hence I guess you developed
>> Kaputt to achieve something which was not possible with oUnit or to
>> achieve it somehow differently.
>>
>> Can you please comment over the differences between Kaputt and oUnit?
>
> 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

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 ...


Your library looks very good, very clean. I just noticed you missed 
the 'pair' and 'tuple' random generators.


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 ... 


>
> Put shortly, the idea of QuickCheck is to encode the specification
> of a function using predicates and to ask the framework to generate
> random test cases to check that the function adheres to its specification.
>
> After designing this part of the library, I realized that it would
> be quite annoying (at least for me, the very first user) to have
> two libraries to code my tests. That's why I decided to add to Kaputt
> the functionalities found in oUnit.
>
> In summary: Kaptt = oUnit + {QuickCheck part of Reins}.
> People may get angry at such effort duplication, and I would understand
> it. My point is to put forward a unique library specialized in testing.
>
>
> 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