From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 95A0ABC2F for ; Mon, 6 Dec 2004 11:34:52 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id iB6AYqcT028155 for ; Mon, 6 Dec 2004 11:34:52 +0100 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id LAA06175 for ; Mon, 6 Dec 2004 11:34:51 +0100 (MET) Received: from eris.rz.uni-saarland.de (eris.rz.uni-saarland.de [134.96.7.8]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id iB6AYpi4028152 for ; Mon, 6 Dec 2004 11:34:51 +0100 Received: from uni-sb.de (uni-sb.de [134.96.7.230]) by eris.rz.uni-saarland.de (8.12.10/8.12.10) with ESMTP id iB6AYoAT23769759 for ; Mon, 6 Dec 2004 11:34:50 +0100 (CET) Received: from cs.uni-sb.de (cs.uni-sb.de [134.96.252.31]) by uni-sb.de (8.13.1/2004111100) with ESMTP id iB6AYlC2027230; Mon, 6 Dec 2004 11:34:47 +0100 (CET) Received: from mail.cs.uni-sb.de (mail.cs.uni-sb.de [134.96.254.200]) by cs.uni-sb.de (8.13.1/2004111100) with ESMTP id iB6AYkIx027557; Mon, 6 Dec 2004 11:34:46 +0100 (CET) Received: from mail.st.cs.uni-sb.de (goscinny.cs.uni-sb.de [134.96.235.32]) by mail.cs.uni-sb.de (8.13.1/2004093000) with ESMTP id iB6AYjPl027742; Mon, 6 Dec 2004 11:34:45 +0100 (CET) X-Authentication-Warning: mail.cs.uni-sb.de: Host goscinny.cs.uni-sb.de [134.96.235.32] claimed to be mail.st.cs.uni-sb.de Received: from [134.96.235.101] (jonagold.cs.uni-sb.de [134.96.235.101]) by mail.st.cs.uni-sb.de (Postfix) with ESMTP id 6FA761BD7B; Mon, 6 Dec 2004 11:34:45 +0100 (CET) In-Reply-To: <41B34705.4000207@confluent.org> References: <41B34705.4000207@confluent.org> Mime-Version: 1.0 (Apple Message framework v619) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: Content-Transfer-Encoding: 7bit Cc: Caml List From: Christian Lindig Subject: Re: [Caml-list] Tools module for the Standard Lib Date: Mon, 6 Dec 2004 11:36:09 +0100 To: Tom Hawkins X-Mailer: Apple Mail (2.619) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.5.1 (eris.rz.uni-saarland.de [134.96.7.8]); Mon, 06 Dec 2004 11:34:50 +0100 (CET) X-AntiVirus: checked by AntiVir Milter 1.0.6; AVE 6.28.0.19; VDF 6.28.0.104 X-Miltered: at concorde with ID 41B435CC.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 41B435CB.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; lindig:01 lindig:01 caml-list:01 lib:01 wrote:01 mli:01 mll:01 cmx:01 encapsulated:01 ocaml:01 ocaml:01 ...:98 cmi:01 uni-sb:01 tex:01 X-Spam-Checker-Version: SpamAssassin 3.0.0 (2004-09-13) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.0 X-Spam-Level: On Dec 5, 2004, at 6:36 PM, Tom Hawkins wrote: > Extrapolating on this idea, it would be advantageous to have a "Tools" > module [..] Such a module would provide first-class ADTs for data that > is currently represented in files: .ml, .mli, .mll, .cmi, .cmx, etc. > For example: > > let my_ml = Tools.ml_of_file "my.ml" in (* or ... *) > let gen_ml = Tools.ml_of_string "print_string \"hello!\"" in > > With such a framework, the complexity of the build process is > encapsulated in a program. In my experience, all serious projects have to deal with more than one kind of source language: besides OCaml there could be TeX for documentation, Troff for manual pages, input for special-purpose code generators like Burg, and so on. A build system must be able to deal with all of them. Therefore your proposal would not eliminate the need for a general build tool outside of OCaml, -- Christian