From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: ** X-Spam-Status: No, score=2.0 required=5.0 tests=NO_REAL_NAME,SPF_SOFTFAIL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id DEFC7BB84 for ; Mon, 24 Nov 2008 00:10:35 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Aj8BAEtyKUnAXQIngWdsb2JhbACSSoESAQEWIrlZgnw X-IronPort-AV: E=Sophos;i="4.33,654,1220220000"; d="scan'208";a="17516497" Received: from concorde.inria.fr ([192.93.2.39]) by mail2-smtp-roc.national.inria.fr with ESMTP; 24 Nov 2008 00:10:35 +0100 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id mANNAZBt014135 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Mon, 24 Nov 2008 00:10:35 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AnYAAEtyKUlbeRvkmWdsb2JhbACSSoESAQEBAQEICwoHEblZgnw X-IronPort-AV: E=Sophos;i="4.33,654,1220220000"; d="scan'208";a="20283827" Received: from 25.mail-out.ovh.net ([91.121.27.228]) by mail1-smtp-roc.national.inria.fr with SMTP; 24 Nov 2008 00:10:35 +0100 Received: (qmail 21220 invoked by uid 503); 23 Nov 2008 23:11:02 -0000 Received: from b7.ovh.net (HELO mail343.ha.ovh.net) (213.186.33.57) by 25.mail-out.ovh.net with SMTP; 23 Nov 2008 23:11:02 -0000 Received: from b0.ovh.net (HELO queueout) (213.186.33.50) by b0.ovh.net with SMTP; 23 Nov 2008 23:14:35 -0000 Received: from ns0.ovh.net (HELO localhost) (213.186.33.20) by ns0.ovh.net with SMTP; 23 Nov 2008 23:14:35 -0000 Received: from ip-183.net-82-216-1.versailles2.rev.numericable.fr (ip-183.net-82-216-1.versailles2.rev.numericable.fr [82.216.1.183]) by imp.ovh.net (IMP) with HTTP for ; Mon, 24 Nov 2008 00:14:33 +0100 Message-ID: <1227482073.4929e3d999bca@imp.ovh.net> Date: Mon, 24 Nov 2008 00:14:33 +0100 From: forum@x9c.fr To: caml-list@inria.fr Subject: Re: [Caml-list] [ANN] Kaputt 1.0 alpha References: <8D0DD4BD-CCA5-4640-84E4-5F14F0804035@x9c.fr> <20081123213044.GA32214@usha.takhisis.invalid> In-Reply-To: <20081123213044.GA32214@usha.takhisis.invalid> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.2.6 X-Originating-IP: 82.216.1.183 X-Ovh-Tracer-Id: 16418716867759047456 X-Miltered: at concorde with ID 4929E2EB.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; zacchiroli:01 zack:01 0100,:01 afaik:01 ocaml:01 ocaml:01 haskell:01 rjmh:01 1.0:98 23,:98 clones:98 sourceforge:01 wrote:01 encode:01 caml-list:01 Selon Stefano Zacchiroli : > 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, even if a QuickCheck equivalent is provided by the Reins library (http://ocaml-reins.sourceforge.net/). 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