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 6896EBC57 for ; Sat, 24 Jul 2010 08:29:59 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AnEDAJolSkzRVdi2i2dsb2JhbACfYQgVAQEBCgsKBw8FH68NghCFTi6IVAEBAwWFMQSEA4Rd X-IronPort-AV: E=Sophos;i="4.55,252,1278280800"; d="scan'208";a="64352132" Received: from mail-qy0-f182.google.com ([209.85.216.182]) by mail1-smtp-roc.national.inria.fr with ESMTP; 24 Jul 2010 08:29:58 +0200 Received: by qyk32 with SMTP id 32so853076qyk.6 for ; Fri, 23 Jul 2010 23:29:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=2fOvL7DeirQFNfPTcFf3ZzcLIDjSHWgzFpdfDy5IKsY=; b=A3QekRt3zZxk8FR2HB2veYl5pbUtWdtB9GlpbX2bAvvvV0XYL2ln205QNhuMpdZjTU ypjS4OSbdg3tObzhQYIe4b7DdQCO55DmWfoiqugOFbRvMWwQVqm4Mqeu4YZTlqd0W6cG jCyhYbGDYjJNAhJ4xFLe4tZy9SMMy++Sfs3Tk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=vN0xouMwGXq3GUf4vs8bZQAN+f531PzlnWOmgBvzb/RdSCsKW1ndmURQzqN3OlSXKu M2jTTP+xBeHmm09Vcnoqq0g5JDZuW/duqnTTybJAodj4DDmYiT9+FHYzA7PbqrR7rIDS xl+uFZCuL3j/PoRXzoG/bgpBwSPNO31B1PflY= MIME-Version: 1.0 Received: by 10.224.19.66 with SMTP id z2mr3609989qaa.187.1279952996862; Fri, 23 Jul 2010 23:29:56 -0700 (PDT) Received: by 10.229.12.133 with HTTP; Fri, 23 Jul 2010 23:29:56 -0700 (PDT) Date: Sat, 24 Jul 2010 15:29:56 +0900 Message-ID: Subject: OCamlSpotter for OCaml 3.12.0+rc1 From: Jun Furuse To: caml-list Content-Type: text/plain; charset=ISO-8859-1 X-Spam: no; 0.00; ocaml:01 furuse:01 furuse:01 compiler:01 syntax:01 ocaml:01 ocaml's:01 functor:01 ocamlc:01 ocamlopt:01 mli:01 patched:01 emacs:01 hacks:01 compilers:01 Hi Caml-list, I have updated OCamlSpotter, a compiler enhancement for source code browsing, to version 3.12.0.0.0, which supports new syntax constructs introduced in OCaml 3.12.0+rc1. This is a very quick porting version for people who are already using OCamlSpotter with OCaml 3.11.2. OCamlSpotter is a tool which finds definition places of various names (identifiers, type names, modules, etc) in OCaml programs automatically for you. The original OCaml's -annot option provides the same sort of functionality but OCamlSpotter provides much more powerful browsing: it can find definitions hidden in the deep nested module aliases and functor applications. - The -annot option of ocamlc and ocamlopt is extended and creates .spot files (.spit for .mli), which record the location information of the names defined and used in the module. - A small application ocamlspot provides automatic where-about spotting of the definition of the name you are interested in, using .spot files created by the patched compilers. - ocamlspot.el provides interactive ocaml-spotting of definition locations in emacs. - Interfaces for other editors such as vi could be built easily, if you want. The source code is available from Mercurial repo at ocamlforge: Further information and download is available at: http://hg.ocamlcore.org/cgi-bin/hgwebdir.cgi/ocamlspotter/ocamlspotter/ Documents are available currently at: http://jun.furuse.info/hacks/ocamlspotter which will be moved to ocamlforge soon. Happy hacking. Jun