From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id JAA27572; Mon, 6 Sep 2004 09:17:03 +0200 (MET DST) 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 JAA27810 for ; Mon, 6 Sep 2004 09:17:01 +0200 (MET DST) 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 i867H1s0005912 for ; Mon, 6 Sep 2004 09:17:01 +0200 Received: from cs.uni-sb.de (cs.uni-sb.de [134.96.254.254]) by eris.rz.uni-saarland.de (8.12.10/8.12.10) with ESMTP id i867GwjO1662910; Mon, 6 Sep 2004 09:16:58 +0200 (CST) Received: from mail.cs.uni-sb.de (mail.cs.uni-sb.de [134.96.254.200]) by cs.uni-sb.de (8.13.1/2004080400) with ESMTP id i867GeM0025832; Mon, 6 Sep 2004 09:16:57 +0200 (CEST) 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/2004080200) with ESMTP id i867BZs5024835; Mon, 6 Sep 2004 09:11:37 +0200 (CEST) X-Authentication-Warning: email: 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 33B021BE1C; Mon, 6 Sep 2004 09:11:35 +0200 (CEST) In-Reply-To: <87hdqc3kfr.fsf@qrnik.zagroda> References: <4139ECD3.1050708@cs.caltech.edu> <001e01c492a6$872c7280$19b0e152@warp> <413A0921.7030607@ntlworld.com> <413A1E89.10806@libertysurf.fr> <1094361655.3352.476.camel@pelican.wigram> <87hdqc3kfr.fsf@qrnik.zagroda> Mime-Version: 1.0 (Apple Message framework v619) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <08C9709F-FFD4-11D8-97B9-000A95CB833C@cs.uni-sb.de> Content-Transfer-Encoding: 7bit Cc: caml-list From: Christian Lindig Subject: Re: [Caml-list] Announcing the OMake build system version 0.9.1 Date: Mon, 6 Sep 2004 09:11:55 +0200 To: "Marcin 'Qrczak' Kowalczyk" 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 Sep 2004 09:16:58 +0200 (CEST) X-AntiVirus: checked by AntiVir Milter 1.0.6; AVE 6.27.0.6; VDF 6.27.0.46 X-Miltered: at concorde with ID 413C0EED.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; lindig:01 lindig:01 uni-sb:01 caml-list:01 marcin:01 'qrczak':01 kowalczyk:01 caching:01 dependencies:01 abstraction:01 pubs:01 uni-sb:01 evaluates:01 sep:01 checking:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Sep 5, 2004, at 3:38 PM, Marcin 'Qrczak' Kowalczyk wrote: > It would be interesting to invent some alternative paradigm, but I've > never seen one. Here are the paradigms for build systems that I know: Make - uses rules to specify the dependency tree, walks the dependency tree, analyzes the file system, and builds files concurrently (hence, no planning in advance) Vesta - specifies the build procedure in a functional language and evaluates the procedure for building. No concept of updating like in Make - all builds are complete in concept; efficiency comes from caching intermediate results and hence the evaluator knows that it does not have to rebuild everything. The Vesta system observes dependencies by observing the tools that are run during the build process: which files are read and written. Very powerful but is more an environment than a tool. Jam - like Make, but has procedural abstraction: a program is evaluated to build up the dependency tree. Unlike Make, clean separation of phases: analyzes the file system, makes a plan, and executes it. Hence, no checking the file system while executing the plan. Similar tools: Cons, SCons. You can find papers here: http://www.research.compaq.com/SRC/vesta/pubs/pldi-00-04-20.pdf http://www.dsmit.com/cons/ http://www.perforce.com/jam/jam.html http://www.perforce.com/jam/jam.html -- Christian -- http://www.st.cs.uni-sb.de/~lindig/ ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners