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=none 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 48898BC0B for ; Wed, 13 Dec 2006 13:38:06 +0100 (CET) Received: from violet.abc.se (violet.abc.se [62.80.200.155]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id kBDCc4td008314 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Wed, 13 Dec 2006 13:38:05 +0100 Received: from [192.168.0.45] (localhost.localdomain [127.0.0.1]) (authenticated bits=0) by violet.abc.se (8.13.1/8.13.1) with ESMTP id kBDCc1JU019883 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 13 Dec 2006 13:38:02 +0100 Message-ID: <457FF423.7000703@abc.se> Date: Wed, 13 Dec 2006 13:37:55 +0100 From: Mattias Waldau User-Agent: Thunderbird 1.5.0.8 (Windows/20061025) MIME-Version: 1.0 To: caml-list@yquem.inria.fr Subject: How to refactor a large Ocaml program Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 0.88.6, clamav-milter version 0.88.6 on violet.abc.se X-Virus-Status: Clean X-Miltered: at discorde with ID 457FF42D.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; mattias:01 waldau:01 mattias:01 waldau:01 refactor:01 ocaml:01 ocaml:01 emacs:01 otags:01 emacs:01 functions:01 types:03 std:03 margin:94 definition:07 I have a large ocaml program and I need to make major changes. After using C# with ReSharper in Visual Studio I am bit spoiled :-) Having a reliable "Find Usage" feature in the browser is really useful when you start tearing apart a program. It is really nice to be able to go to the definition of a function directly, and find all locations it is used. However, when I go back to Ocamlm, Emacs and Otags and -dtypes doesn't give a lot of help except the types. For example Emacs "Find-tag" on Std.left, which find the following functions: left, margin_left,...... Do anyone know about better ways of doing this? -- Mattias