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=1.9 required=5.0 tests=AWL,DNS_FROM_RFC_POST autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 2FE85BB84 for ; Mon, 24 Nov 2008 17:54:40 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: At8CALtqKknAXQImgWdsb2JhbACTXgEBFiK9JweCdQ X-IronPort-AV: E=Sophos;i="4.33,660,1220220000"; d="scan'208";a="31777036" Received: from discorde.inria.fr ([192.93.2.38]) by mail4-smtp-sop.national.inria.fr with ESMTP; 24 Nov 2008 17:54:39 +0100 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id mAOGsdPN002289 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Mon, 24 Nov 2008 17:54:39 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqUAALtqKkmArgVgcGdsb2JhbACTXgEMCA0HEQS9IweCdQ X-IronPort-AV: E=Sophos;i="4.33,660,1220220000"; d="scan'208";a="20320553" Received: from expredir5.cites.uiuc.edu ([128.174.5.96]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 24 Nov 2008 17:54:38 +0100 Received: from axyr (aryx.cs.uiuc.edu [128.174.236.106]) by expredir5.cites.uiuc.edu (8.14.2/8.14.2) with ESMTP id mAOGsaK7012951; Mon, 24 Nov 2008 10:54:36 -0600 (CST) To: forum@x9c.fr Cc: 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> <1227482073.4929e3d999bca@imp.ovh.net> From: Yoann Padioleau Date: Mon, 24 Nov 2008 10:52:24 -0600 In-Reply-To: <1227482073.4929e3d999bca@imp.ovh.net> (forum@x9c.fr's message of "Mon\, 24 Nov 2008 00\:14\:33 +0100") Message-ID: <87tz9xt6bb.fsf@aryx.cs.uiuc.edu> User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Miltered: at discorde with ID 492ADC4F.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 functors:01 beginner's:01 bug:01 1.0:98 23,:98 clones:98 janet:98 forum@x9c.fr writes: Hi Xavier, > 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, 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