caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Yoann Padioleau <padator@wanadoo.fr>
To: Christophe Raffalli <Christophe.Raffalli@univ-savoie.fr>
Cc: "forum@x9c.fr" <forum@x9c.fr>, caml-list@inria.fr
Subject: Re: [Caml-list] [ANN] Kaputt 1.0 alpha
Date: Mon, 24 Nov 2008 16:05:04 -0600	[thread overview]
Message-ID: <87ej10u6en.fsf@aryx.cs.uiuc.edu> (raw)
In-Reply-To: <492B2184.4010300@univ-savoie.fr> (Christophe Raffalli's message of "Mon\, 24 Nov 2008 22\:49\:56 +0100")

Christophe Raffalli <Christophe.Raffalli@univ-savoie.fr> writes:

>>> 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/)

Which would make it even more heavyweight by forcing now the client
to use campl4, to download your deriving library, to understand
this deriving stuff, to infer the names of the functions
now that they will be hidden/internally-generated by campl4 ... 

Look at the ocaml standard library, why do you like it ? 
Because it's simple. A few types, a "kernel" of essential functions,
not too much functors (well in fact I would prefer even less functors
such as a simpler Map and Set like the Hashtbl module). KISS.

>
> Hope this helps,
> Christophe
>>
>>
>> Xavier
>>


  reply	other threads:[~2008-11-24 22:07 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-23 20:57 barista
2008-11-23 21:30 ` [Caml-list] " Stefano Zacchiroli
2008-11-23 23:14   ` forum
2008-11-23 23:22     ` forum
2008-11-24 16:52     ` Yoann Padioleau
2008-11-24 17:08       ` Sylvain Le Gall
2008-11-24 19:13       ` [Caml-list] " forum
2008-11-24 21:49         ` Christophe Raffalli
2008-11-24 22:05           ` Yoann Padioleau [this message]
2008-11-24 22:52           ` forum
2008-11-25  9:55             ` Jeremy Yallop

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ej10u6en.fsf@aryx.cs.uiuc.edu \
    --to=padator@wanadoo.fr \
    --cc=Christophe.Raffalli@univ-savoie.fr \
    --cc=caml-list@inria.fr \
    --cc=forum@x9c.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).