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 PAA10286; Sat, 22 Nov 2003 15:33:30 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id PAA13231 for ; Sat, 22 Nov 2003 15:33:29 +0100 (MET) Received: from mail.dcs.qmul.ac.uk (vicar.dcs.qmul.ac.uk [138.37.88.163]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id hAMEXS118335 for ; Sat, 22 Nov 2003 15:33:28 +0100 (MET) Received: from xenografia.plus.com ([212.159.85.26] helo=dcs.qmul.ac.uk) by mail.dcs.qmul.ac.uk with asmtp (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.24) id 1ANYpB-0001b7-Lq; Sat, 22 Nov 2003 14:33:25 +0000 Message-ID: <3FBF7397.9030608@dcs.qmul.ac.uk> Date: Sat, 22 Nov 2003 14:32:55 +0000 From: Martin Berger User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031009 X-Accept-Language: en-us, en MIME-Version: 1.0 To: skaller@ozemail.com.au CC: caml-list@inria.fr, Martin Berger Subject: Re: [Caml-list] Building large and portable projects References: <20031120195614.GB441@gallu.homelinux.org> <000f01c3afd1$30033c90$0274a8c0@PWARP> <20031121052549.GA8599@davidb.org> <008301c3aff3$1030e760$0274a8c0@PWARP> <20031121064950.GA836@gallu.homelinux.org> <1069431167.5426.45.camel@pelican> In-Reply-To: <1069431167.5426.45.camel@pelican> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Auth-User: martinb X-DCS-Spam-Score: -1.5 X-clamav-result: clean (1ANYpB-0001b7-Lq) X-uvscan-result: clean (1ANYpB-0001b7-Lq) X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 conceptually:01 fixpoints:01 interscript:01 outputs:01 fixpoints:01 converge:01 poigne:01 112.:99 objects:02 object:03 arrow:95 pointed:04 equivalent:05 products:94 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > Make systems are all conceptually wrong. agreed. > This leads to the first novel idea. Fixpoints. > Interscript is based on that idea. > A build system does NOT have targets. > A build systems has processes and files. > Lets call the processes ARROWS and the files OBJECTS. > Oh. That's a category. We allow of course, > products of files (multiple outputs and inputs) > and sums of files (choose one of several). > [And of course we'd better make it cartesian > closed and allow processes to be files .. > called scripts .. :] this is a fascinating proposal. i have two immediate questions: * as someone else pointed out, relying on convergence towards fixpoints may be too strong. some build processes may never converge, rather they evenually stabilise in some "open ball", so you might need some (user supplied) notion of "close enough". how do you do that? * according to [1], a cartesian closed category with fixpoints and finite sums is equivalent to the category with one object and one arrow. how do you deal with this? martin [1] Hagen Huwig and Axel Poigne, A note on inconsistencies caused by fixpoints in a cartesian dosed category, Theoretical Computer Science 73 (1990), p. 101-112. ------------------- 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