From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id C7641BBAF for ; Mon, 26 Jul 2010 16:10:58 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AnQCAFM0TUzRVdi2i2dsb2JhbACfXAgVAQEBFQoHDwUfsVmCEIUwLohUAQEDBYUxBIQGhF6CRw X-IronPort-AV: E=Sophos;i="4.55,261,1278280800"; d="scan'208";a="64425582" Received: from mail-qy0-f182.google.com ([209.85.216.182]) by mail1-smtp-roc.national.inria.fr with ESMTP; 26 Jul 2010 16:10:58 +0200 Received: by qyk32 with SMTP id 32so2262196qyk.6 for ; Mon, 26 Jul 2010 07:10:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=L+KuvF3Gl7ZS2ojOcVI1zwCWs97SukZ/Y3KdXthaH88=; b=Ow6k2ZctZUBSFF51eaBFQZocHT+CBeYOMqV9tgDJ5hxTJgtdxxp77/E7Sd9USiPhjR DcP5/1QThVu4ICb338c31G5+OHfghLpp4dWtD/i+3x86ISfcduh3Teh/HfC7wghXgPwI bQw2oAbvtZ+6TOKy9oYBvAEuOFkWFFi/9ue9E= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=GdCInDBRJTKh+YHK3xdMdY4vQZXUQJPOVUJZeslVeY8b2wR0apaIVg3OQeMJVTWfz1 Q98dr8eWnaZ0XcZOlILxWFH5c6Ojacwp3KNjU60oMFEpk5j33Tix3GOiJjit8Cd7wMQ4 esWF8vRCp9552w7jkyp1bk06UfWAY8zIDamNc= MIME-Version: 1.0 Received: by 10.224.86.222 with SMTP id t30mr5897521qal.79.1280153455989; Mon, 26 Jul 2010 07:10:55 -0700 (PDT) Received: by 10.229.12.133 with HTTP; Mon, 26 Jul 2010 07:10:55 -0700 (PDT) In-Reply-To: <4E338414-66F6-4F69-8780-6B56F9D677A1@wanadoo.fr> References: <4E338414-66F6-4F69-8780-6B56F9D677A1@wanadoo.fr> Date: Mon, 26 Jul 2010 23:10:55 +0900 Message-ID: Subject: Re: [Caml-list] OCamlSpotter for OCaml 3.12.0+rc1 From: Jun Furuse To: Yoann Padioleau Cc: caml-list Content-Type: text/plain; charset=ISO-8859-1 X-Spam: no; 0.00; ocaml:01 furuse:01 furuse:01 c-c:01 otags:01 functor:01 ocaml:01 overwritten:01 compilation:01 compilation:01 patched:01 compiler:01 patched:01 compiler:01 makefile:01 Hi, > Really ? What is the difference between -annot and -dtypes. To me > -dtypes only help to print type information under the cursor (With C-c C-t). > It does not help to find the definition of a name (like otags). No difference. -dtype was superseded by -annot while ago. OCamlSpotter extends these options to produce extra files for code browsing. >> but OCamlSpotter provides much more >> powerful browsing: it can find definitions hidden in the deep nested >> module aliases and functor applications. > > This looks really useful. Any chance of this being integrated in the official > OCaml distribution ? I don't feel comfortable overwriting my current > ocaml binaries. Also how does it interact with previously compiled object files ? > I am using godi so once I have overwritten the ocaml binaries from godi, do > I have to reinstall all the libraries ? The patch does not touch any part of compilation, or at least I was careful to keep the compilation part untouched. This means patched compiler and the orignal should produce the same object codes. It should be safe linking of objects from the original and the patched together, as far as you use the same compiler versions. Of course, there are no spot/spit files for library modules compiled by the original compiler and you cannot browse them. If you want to be very careful, use the patched compiler just for spot/spit file creation and use the object files from the original compiler. In this case you need to tweak your build scripts (Makefile, OMakefile, ocamlbuild or whatever) somehow. Probably I can add -annotonly option for the next version of OCamlSpotter to make it easier. I am not sure about the possibility of official integration of the patch. Caml-dev team is generally conservative for a good reason: they are responsible for keeping ocaml maintenable by themselves. OCamlSpotter was made based on some non-trivial (probably wrong) design choices. Maybe some people find OCamlWizard (http://ocamlwizard.lri.fr/) is better. Or others like pretty heavy weight solutions like Scion server for Haskell. Jun