Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

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: 2008-11-24 (16:54)
From: Yoann Padioleau <padator@w...>
Subject: Re: [Caml-list] [ANN] Kaputt 1.0 alpha writes:

Hi Xavier, 

> Selon Stefano Zacchiroli <>:
>> On Sun, Nov 23, 2008 at 09:57:37PM +0100, 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
> ( Clones of QuickCheck
> exist for various languages ( but not for OCaml,

Actually I posted a few years ago a small module imitating parts of quicheck:

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

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:
> Archives:
> Beginner's list:
> Bug reports: