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.9 required=5.0 tests=AWL,SPF_FAIL 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 041EEBBB8 for ; Wed, 10 Dec 2008 00:44:05 +0100 (CET) X-IronPort-AV: E=Sophos;i="4.33,743,1220220000"; d="scan'208";a="18236000" Received: from concorde.inria.fr ([192.93.2.39]) by mail2-smtp-roc.national.inria.fr with ESMTP; 10 Dec 2008 00:44:04 +0100 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id mB9Ng243002707 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Wed, 10 Dec 2008 00:42:04 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApgAAAhWPklQW+UCe2dsb2JhbACTXQEBFiIEvXSDBw X-IronPort-AV: E=Sophos;i="4.33,743,1220220000"; d="scan'208";a="20148574" Received: from main.gmane.org (HELO ciao.gmane.org) ([80.91.229.2]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES256-SHA; 09 Dec 2008 20:32:09 +0100 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1LA8JT-0003fX-41 for caml-list@inria.fr; Tue, 09 Dec 2008 19:32:07 +0000 Received: from ks300734.kimsufi.com ([91.121.65.225]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 09 Dec 2008 19:32:07 +0000 Received: from sylvain by ks300734.kimsufi.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 09 Dec 2008 19:32:07 +0000 X-Injected-Via-Gmane: http://gmane.org/ To: caml-list@inria.fr From: Sylvain Le Gall Subject: Re: Ocaml back-end Date: Tue, 9 Dec 2008 19:31:58 +0000 (UTC) Message-ID: References: <605bf2750812060448u787862c9xdc2528cb61bc01d7@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: ks300734.kimsufi.com User-Agent: slrn/pre0.9.9-102 (Linux) Sender: news X-Miltered: at concorde with ID 493F024A.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; le-gall:01 ocaml:01 bug:01 compiler:01 dynlink:01 cmo:01 copt:01 cmo:01 copt:01 ocamlopt:01 ocaml:01 cvs:01 camlcvs:01 wrote:01 dynamically:01 On 09-12-2008, Gilles Pirio wrote: >> To my mind, the best way is to provide a patch through the bug tracking >> system of INRIA. This is highly probable that INRIA team doesn't accept >> it directly but ask you to justify/modify it in order to fit the whole >> compiler -- which could be quiet a long process in fact. > > It would greatly help to know what the INRIA team would consider as > acceptable ahead of doing the work. What kind of guidlines would you > advise me to follow? I guess I can add new passes but can I modify > existing ones? > > The ideal solution would be to open the back-end using the dynlink > library. I've done it with 3.11 to speed up development. The back-end is now > a cmo file. I separately compile copt0.cmo, copt1.cmo... with different > back-ends. Then I can use command like: ocamlopt -copt copt0.cmo myfile.ml > to compile with my back-end. > But even though that's a small change I'm not sure the INRIA guys would > like it, right? > > This idea rocks! The best way is to begin by providing a basic patch and follow this explanation: http://et.redhat.com/~rjones/how-to-supply-code-to-open-source-projects/ (even if it is not said, half of the people involved are OCaml developers). The other idea is that the smallest is the best. That's why your idea rocks. If the possibility to dynamically load backend is small, it will be a very good first step. When you will have made this first step (that can profit to all), you can either submit your backend or provide it by any other mean. Regards Sylvain Le Gall ps: consider fecthing a copy of the CVS http://camlcvs.inria.fr/