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 OAA02328; Mon, 12 Nov 2001 14:38:06 +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 OAA03084 for ; Mon, 12 Nov 2001 14:38:05 +0100 (MET) Received: from green.csi.cam.ac.uk (green.csi.cam.ac.uk [131.111.8.57]) by nez-perce.inria.fr (8.11.1/8.10.0) with ESMTP id fACDc1H00417 for ; Mon, 12 Nov 2001 14:38:05 +0100 (MET) Received: from mrs35-1.clare.cam.ac.uk ([131.111.230.199] ident=mail) by green.csi.cam.ac.uk with esmtp (Exim 3.22 #1) id 163HHl-0002l1-00 for caml-list@inria.fr; Mon, 12 Nov 2001 13:38:01 +0000 Received: from 127.0.0.1 (ident=mrs) by mrs35-1.clare.cam.ac.uk with esmtp (MasqMail 0.1.14) id 163HJK-6co-00 for caml-list@inria.fr; Mon, 12 Nov 2001 13:39:38 +0000 To: caml-list@inria.fr Subject: Re: [Caml-list] Rewriting UNIX in Caml and getting rid of the C disease References: <20011111061746.A214@gogol.zorgol> X-Mailer: Mew version 1.94.1 on XEmacs 21.1 (Crater Lake) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20011112133937D.mrs35@cam.ac.uk> Date: Mon, 12 Nov 2001 13:39:37 GMT From: Mark Seaborn X-Dispatcher: imput version 991025(IM133) Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Berke Durak writes: [...] > An appropriate sublanguage of Caml should be isolated, and a given, > well-accepted brand of UNIX should be reimplemented in that language. > Binary compatibility must be retained as far as possible. Basic system > utilities (including a shell) should also be translated (into full > Ocaml). Since the use of Caml will, a) divide the source code size by, > say, ten and b) automatically remove, say, 95% of all bugs and > security holes (since most are illnesses resulting from pointer > manipulation), success is guaranteed. [...] You may be interested in a project I am implementing at the moment: The idea is to automatically translate any C program into a memory-safe language. This can be done by assuming that a block of memory should only be accessed through values that depend on the block's address. The blocks that a value is dependent on can be tracked at run time, but static analysis can be used to eliminate this cost hopefully in most cases. This scheme can be applied to turn filenames, as well as pointers, into unforgable capabilities. I've written a draft paper explaining this which is at: -- Mark Seaborn - mseaborn@bigfoot.com - http://www.srcf.ucam.org/~mrs35/ - ``Every revolutionary opinion draws part of its strength from a secret conviction that nothing can be changed'' -- George Orwell ------------------- Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr