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=0.0 required=5.0 tests=AWL 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 5109ABC6D for ; Tue, 5 Feb 2008 15:13:32 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Aq4HAH79p0fUnw7XiGdsb2JhbACCNo1oDQEBAQgCCAgJGIEVm1c X-IronPort-AV: E=Sophos;i="4.25,308,1199660400"; d="scan'208";a="6922398" Received: from fhw-relay07.plus.net ([212.159.14.215]) by mail2-smtp-roc.national.inria.fr with ESMTP; 05 Feb 2008 15:13:32 +0100 Received: from [80.229.56.224] (helo=beast.local) by fhw-relay07.plus.net with esmtp (Exim) id 1JMOY8-0000Qw-4J; Tue, 05 Feb 2008 14:13:24 +0000 From: Jon Harrop Organization: Flying Frog Consultancy Ltd. To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] [OSR] Exceptionless error management Date: Tue, 5 Feb 2008 13:46:29 +0000 User-Agent: KMail/1.9.7 Cc: Vincent Hanquez , =?iso-8859-1?q?B=FCnzli_Daniel?= , caml-list List References: <9A13D5E1-E455-4019-B0BA-D8D7DD4CE49E@erratique.ch> <20080205110641.GA4712@snarc.org> In-Reply-To: <20080205110641.GA4712@snarc.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200802051346.29869.jon@ffconsultancy.com> X-Plusnet-Relay: a1e51fc28caf57de5461c52bbd93ce56 X-Spam: no; 0.00; patching:01 ocaml:01 stdlib:01 compiler:01 stdlib:01 hashtbl:01 monadic:01 ocaml:01 variants:01 compiler:01 lablgl:01 recursive:01 frog:98 polymorphic:01 polymorphic:01 On Tuesday 05 February 2008 11:06:41 Vincent Hanquez wrote: > This is not "forking", for me that's patching. > We _can_ provide the same interface+improvements (no breaking of > previous programs) easily _without_ forking with minimal intrusion as a > patchqueue on top of ocaml stdlib. the compiler might be forbidden > fruit (license, INRIA expertise, etc) and that's probably a bad idea to > fork it anyway, but stdlib should be where we could add major improvement > to the language (a rich and nice stdlib just like all other languages). > > Also a proposal that define exceptionless without having the core > library like Hashtbl, Map, Set, List, conforms to this "standard" is > just bound to failure. Either they are modified (bad idea for > compability), Copied+forked into another module (nobody going to use it > + you're forking some of the stdlib) or the proposal is moot. Exactly. Whatever everyone wants to call it, the stdlib desperately needs improving and tacking on more third party libraries (ExtLib, AnnexLib, PagodaCore, Baird, ...) is not the way to do it. I personally want to see lots of simple, minimal improvements to the stdlib but I'm afraid that lots of other people are going to want to push their untested Obj-riddled codebases into any improvement, which scares me. > > Sure we can have monadic stuff, new types, new infrastructure etc. but I > > try to design solely within the constraint of the ocaml system as it > > stands because I know that's something has been there for more than 10 > > years and continues to be maintained. > > Polymorphic variants have the advantage to > > allow us to standardize across modules without needing changes to the > > ocaml system. > > they might be standard in ocaml (as in available through the compiler), > but not much library use them. Jacques Garrigue's libraries (e.g. LablGL) do and they work very well. This is one area where OCaml is much nicer than F# (inherited from .NET). For example, in F# you write CullFace.Both or ControlStyles.DoubleBuffer but in OCaml you just write `Both or `DoubleBuffer. > people should have that in mind when trying to propose them as an OSR; > lots of people are not confortable with them imo. I would recommend avoiding recursive polymorphic types in library APIs but I have no problems with small, simple, non-recursive definitions like [ `Value of 'a | `Exception of 'b ]. -- Dr Jon D Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/products/?e