From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 6508E7EF1E for ; Wed, 20 Jul 2016 09:49:49 +0200 (CEST) IronPort-PHdr: 9a23:QWtEJhSojCubkJFfAGbfClyoPNpsv+yvbD5Q0YIujvd0So/mwa64bBWN2/xhgRfzUJnB7Loc0qyN4vimBDZLuMzZ+Fk5M7V0HycfjssXmwFySOWkMmbcaMDQUiohAc5ZX0Vk9XzoeWJcGcL5ekGA6ibqtW1aJBzzOEJPK/jvHcaK1oLshrj0pseYOl8QzBOGIppKZC2sqgvQssREyaBDEY0WjiXzn31TZu5NznlpL1/A1zz158O34YIxu38I46FppIZ8VvDVcr40BYdECzA+Nmkz4oW/tB/NSiOA62EQF34KlR5QBgHD6lf2U8G1+iDzs+443CiBIeX3S6o1UHKs9fRFUhjt3QMAKj8iuE7akcZ9lr4T9Bamuh1khYHZe4uYLuZWeajUeNcCX20HVcFUAX8SSrigZpcCWrJSdd1TqJPw8gMD Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=louis.gesbert@ocamlpro.com; spf=None smtp.mailfrom=louis.gesbert@ocamlpro.com; spf=None smtp.helo=postmaster@vps119294.ovh.net Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of louis.gesbert@ocamlpro.com) identity=pra; client-ip=37.187.244.36; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="louis.gesbert@ocamlpro.com"; x-sender="louis.gesbert@ocamlpro.com"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of louis.gesbert@ocamlpro.com) identity=mailfrom; client-ip=37.187.244.36; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="louis.gesbert@ocamlpro.com"; x-sender="louis.gesbert@ocamlpro.com"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@vps119294.ovh.net) identity=helo; client-ip=37.187.244.36; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="louis.gesbert@ocamlpro.com"; x-sender="postmaster@vps119294.ovh.net"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0DPBgBOLI9X/yT0uyVdhCg4sQiCD4gDhhoCCIFmEQEBAQEBAQEBZCeCMhWCFgEFgQkLDhMlDwFHBgGIRr1EAQsXDoYqg0qBA4UjhHgFmSaBXpZKhXKQIDQgg3U6iCIBAQE X-IPAS-Result: A0DPBgBOLI9X/yT0uyVdhCg4sQiCD4gDhhoCCIFmEQEBAQEBAQEBZCeCMhWCFgEFgQkLDhMlDwFHBgGIRr1EAQsXDoYqg0qBA4UjhHgFmSaBXpZKhXKQIDQgg3U6iCIBAQE X-IronPort-AV: E=Sophos;i="5.28,393,1464645600"; d="asc'?scan'208";a="185296822" Received: from antislash.info (HELO vps119294.ovh.net) ([37.187.244.36]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Jul 2016 09:49:48 +0200 From: Louis Gesbert To: Gerd Stolpmann , caml-list@inria.fr Date: Wed, 20 Jul 2016 09:49:35 +0200 Message-ID: <15799265.czqJrqsjN9@agaric> Organization: OCamlPro In-Reply-To: <1468602243.25014.134.camel@e130.lan.sumadev.de> References: <001701d1daa2$30f7ac30$92e70490$@metastack.com> <20160715161308.GB30333@topoi.pooq.com> <1468602243.25014.134.camel@e130.lan.sumadev.de> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart3396167.kDjx58f1nJ"; micalg="pgp-sha256"; protocol="application/pgp-signature" X-Validation-by: louis.gesbert@ocamlpro.com Subject: Re: [Caml-list] Warnings opening modules (was: why is building ocaml hard?) --nextPart3396167.kDjx58f1nJ Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" ocp-index does that, in the most simple way possible: the file is parsed to find any scope-changing constructs (open, include, functor parameters...), then it tries to resolve the identifier, reading any .cmi file corresponding to an open module it can find to check for a match. It's not 100% perfect (e.g. in its current version, it won't distinguish identifiers corresponding to values, field names, or types), but it works extremely well in practice and, using it, pulling hair because I have to lose time looking up an identifier in the presence of 'open' statements is a thing of the past. Just run '(ocp-index-print-info-at-point)' in emacs (and from the shell, it's 'ocp-index print IDENT --context FILE:LINE:COL "%p"') Of course, it's not as light-weight, but if you have Merlin configured on your project and working, that's even better: in either case you get jump-to-source which also gives that information, and Merlin is more accurate. > - Gerd Stolpmann, 15/07/2016 19:04 - > Am Freitag, den 15.07.2016, 12:13 -0400 schrieb Hendrik Boom: > > Or is there some kind of code browsing tool that explicates all this? > > I don't know any tool that just shows the full path of identifiers. > Merlin could do it (has all infos) but it doesn't so far. It "only" > shows the type (also useful, but in a different way). > > Gerd > --nextPart3396167.kDjx58f1nJ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAABCAAGBQJXjy0YAAoJEBg5nEeGqbyYqR4H+gPYM9EN/FF5QvoIW8a7C1zd lEgUOQvBseIjUBoGqk6kjE7tdf7PyUFWmkVp2il6/X/UnqmjsFZGxNvw3YwvfVsX isKx1eSnnq/jFyg/WP8MlnBeggzhxiMu5UyhHvp0SAT4jmCXxU2cda6gHMWs1Cv1 zUVAe8FzqO1iKSuWPF3u/x4pEonkyMV0jCN4MKDgOhSA1RIJgqnQvqbgw+dz/Wgj L1vKAXTPgcEHhHhzd6Cl1ATpsXOcrPYZV2oNGz+HqGotIj7QmgiodZ6Yx5AnvjK5 miD9JmYbPSb2UU92B7hhyG6t28AiBo0CQZZnA3Bm4LJjnYEwdVVoUZtQov2bOOs= =VdIH -----END PGP SIGNATURE----- --nextPart3396167.kDjx58f1nJ--