From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 476858242A for ; Fri, 6 Apr 2018 12:52:40 +0200 (CEST) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=R.N.S.Rowe@kent.ac.uk; spf=Pass smtp.mailfrom=R.N.S.Rowe@kent.ac.uk; spf=None smtp.helo=postmaster@mx0.kent.ac.uk Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of R.N.S.Rowe@kent.ac.uk) identity=pra; client-ip=129.12.21.32; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="R.N.S.Rowe@kent.ac.uk"; x-sender="R.N.S.Rowe@kent.ac.uk"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of R.N.S.Rowe@kent.ac.uk designates 129.12.21.32 as permitted sender) identity=mailfrom; client-ip=129.12.21.32; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="R.N.S.Rowe@kent.ac.uk"; x-sender="R.N.S.Rowe@kent.ac.uk"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mx0.kent.ac.uk) identity=helo; client-ip=129.12.21.32; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="R.N.S.Rowe@kent.ac.uk"; x-sender="postmaster@mx0.kent.ac.uk"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3A9lCBjx3ZdfLgYscwsmDT+DRfVm0co7zxezQtwd8Z?= =?us-ascii?q?se0SIvad9pjvdHbS+e9qxAeQG9mDsLQc06L/iOPJYSQ4+5GPsXQPItRndiQuro?= =?us-ascii?q?EopTEmG9OPEkbhLfTnPGQQFcVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBgvwNRZv?= =?us-ascii?q?JuTyB4Xek9m72/q99pHPbQhEniaxba9vJxiqsAvdsdUbj5F/Iagr0BvJpXVIe+?= =?us-ascii?q?VSxWx2IF+Yggjx6MSt8pN96ipco/0u+dJOXqX8ZKQ4UKdXDC86PGAv5c3krgfM?= =?us-ascii?q?QA2S7XYBSGoWkx5IAw/Y7BHmW5r6ryX3uvZh1CScIMb7S60/Vza/4KdxUBLmlT?= =?us-ascii?q?kJNzA5/m/UhMJ/gq1UrxC9qBJw2IPUfIKYOeBicq/Bc94XR2xMVdtRWSxbBYO8?= =?us-ascii?q?apMCAfYfMuZFtIbyuV0OpgaiCwmrCuLg1CJDi3jq06Egy+otCxzI0BY8EdIJvn?= =?us-ascii?q?Xbss74NKQMXuCz0KnE1y/MYO9M1Tfg64jFaxYsquyCU7J3dMre00gvFwXdg1Wf?= =?us-ascii?q?qIzlIzeV2f4WvGSB8+VgUuevhmg6oA9yujii3toghpfNi44P11zI6z91zJgoKd?= =?us-ascii?q?GiRkN3f8aoHIZOuyyeLYd6X90uT3t2tCokxbAKo4C3cScOxZkh2hXRceaIc5KS?= =?us-ascii?q?7RLmTOuRISl3hHZieL+nghaz/lSsxvf/Vsaq1lZKsjBJncPQuXwXyhzT6dCLSv?= =?us-ascii?q?p7/ki/xTaCzx3f5v9ALEwuiKbXNYQtzqAtmpYJv0nPADf6mEDsg6+XckUk9PKo?= =?us-ascii?q?6+PiYrj+upGQLZd6hhvjPKg0hsK/Buo5PRYVUmiY5+u80qHj8VfjT7pWlPE2j6?= =?us-ascii?q?rZvIjAJcsHvq65HxNV0oE75hmjFTim1dAYkWADLFJEYxKHk5PkO0rOIfD9Ffew?= =?us-ascii?q?mU6gkDZtx/DcP73uGI/BLnbZkOSpQbEo4EdZzE83zMtDz5NSELAIZvzpCWHrs9?= =?us-ascii?q?mNNBIkOQGyi9zgF9g1grlYfyS0RJWeL676slKO+qQmKK+RZ9lG637GN/E56qu2?= =?us-ascii?q?3jcCklgHcPzxhMpFWDWDBv1jZn6hTz/pi9YFH30Nu1NkHu/njkHEWDUVenXgBv?= =?us-ascii?q?tgtAF+M5qvCML4fq7omKaIhX3pHZBQeiZPARaREiWwLtjWa7I3cCuXZ/RZvHkE?= =?us-ascii?q?WLymEtFz0AH28gz3zaYhJ+GS5y5K7Z8=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AOAQBFUMdahyAVDIFdHgEGDIQVDm+EB?= =?us-ascii?q?5UKgXSBD5RSAQojhGACgjQZBwEENBQBAgEBAQEBAQEBARMBAQEKCwkIKCMMgjU?= =?us-ascii?q?igkwBAgMjDwEFUQsYAgIYDgICVxMIAQGFCQ+oZ4IchFeCcxhogiAFgQmGYoITg?= =?us-ascii?q?S6CNC6FO4I0glQCl0MIhVSIWQaMQIkchmqBJTOBczMaND6CRIItg06KU45SAQE?= X-IPAS-Result: =?us-ascii?q?A0AOAQBFUMdahyAVDIFdHgEGDIQVDm+EB5UKgXSBD5RSAQo?= =?us-ascii?q?jhGACgjQZBwEENBQBAgEBAQEBAQEBARMBAQEKCwkIKCMMgjUigkwBAgMjDwEFU?= =?us-ascii?q?QsYAgIYDgICVxMIAQGFCQ+oZ4IchFeCcxhogiAFgQmGYoITgS6CNC6FO4I0glQ?= =?us-ascii?q?Cl0MIhVSIWQaMQIkchmqBJTOBczMaND6CRIItg06KU45SAQE?= X-IronPort-AV: E=Sophos;i="5.48,415,1517871600"; d="scan'208";a="261109323" Received: from mx0.kent.ac.uk ([129.12.21.32]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Apr 2018 12:52:39 +0200 Received: from edue0f9.kent.ac.uk ([129.12.224.249]) by mx0.kent.ac.uk with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.90_1) (envelope-from ) id 1f4Oz0-0001zf-UG for caml-list@inria.fr; Fri, 06 Apr 2018 11:52:38 +0100 To: caml-list@inria.fr References: <7edba90e-d17b-9389-832b-ac662465b4c1@bioreg.kyushu-u.ac.jp> From: Reuben Rowe Message-ID: Date: Fri, 6 Apr 2018 11:52:37 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <7edba90e-d17b-9389-832b-ac662465b4c1@bioreg.kyushu-u.ac.jp> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Subject: Re: [Caml-list] how to automatically extract a subset of some ocaml code base? Hi Francois, I am currently working on a refactoring tool for OCaml.     https://gitlab.com/trustworthy-refactoring/refactorer It contains functionality to compute the file dependency graph of a codebase, so perhaps this would potentially work for you? If you have the dependency graph, you can extract only the source files that the entry point (transitively) depends on. It is not especially user-friendly at the moment, but if you like I could work with you on getting it to do what you want. Reuben On 06/04/18 03:08, Francois BERENGER wrote: > Hello, > > I have a large research prototype code base, with many tested, compiling > but abandoned things. > > I'd like to release only a small cool stuff out of it. > > I have an executable with an entry point into that code base > to use the cool stuffs. > > Is there a tool that would allow me to extract only the > needed source code so that I can do a minimal source-based release with > only "cool stuff" plus all its dependencies? > > Previously, I would do this by hand. But, with years passing, I become > more and more lazy. :) > > Thanks, > F. >