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 discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id B1C68BC0B for ; Wed, 13 Dec 2006 15:12:04 +0100 (CET) Received: from pih-relay06.plus.net (pih-relay06.plus.net [212.159.14.133]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id kBDEC3nH001993 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 13 Dec 2006 15:12:04 +0100 Received: from [80.229.56.224] (helo=[10.0.0.5]) by pih-relay06.plus.net with esmtp (Exim) id 1GuUpz-0004QZ-CR for caml-list@yquem.inria.fr; Wed, 13 Dec 2006 14:11:59 +0000 From: Jon Harrop Organization: Flying Frog Consultancy Ltd. To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] How to refactor a large Ocaml program Date: Wed, 13 Dec 2006 14:09:24 +0000 User-Agent: KMail/1.9.5 References: <457FF423.7000703@abc.se> <20061213130922.GA17914@pulp.rsise.anu.edu.au> <4580079B.1020101@trusted-logic.fr> In-Reply-To: <4580079B.1020101@trusted-logic.fr> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200612131409.24433.jon@ffconsultancy.com> X-Miltered: at discorde with ID 45800A33.002 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; refactor:01 ocaml:01 ocaml:01 lexer:01 parser:01 compiler:01 parsing:01 rewriting:01 frog:98 wrote:01 caml-list:01 caml:02 ast:02 objective:02 exists:03 On Wednesday 13 December 2006 14:00, Yann Coscoy wrote: > And if these tools do not exists it is not because nobody need nor want > them. It is because it requires a huge effort to have good ones. And > nobody has done is effort yet. I don't think it would be a huge effort to write refactoring tools for OCaml. Indeed, I've propose this idea for F#. The hard part is writing the lexer and parser, which is already found in the front end of the compiler (albeit without parsing of comments). Then you're just rewriting an AST, which is a piece of cake in ML. :-) -- Dr Jon D Harrop, Flying Frog Consultancy Ltd. Objective CAML for Scientists http://www.ffconsultancy.com/products/ocaml_for_scientists