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 TAA02792; Tue, 11 Sep 2001 19:10:46 +0200 (MET DST) 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 TAA02869 for ; Tue, 11 Sep 2001 19:10:45 +0200 (MET DST) Received: from saul.cis.upenn.edu (SAUL.CIS.UPENN.EDU [158.130.12.4]) by nez-perce.inria.fr (8.11.1/8.10.0) with ESMTP id f8BHAi116298 for ; Tue, 11 Sep 2001 19:10:44 +0200 (MET DST) Received: from localhost (localhost [127.0.0.1]) by saul.cis.upenn.edu (8.10.1/8.10.1) with SMTP id f8BHAgx09480; Tue, 11 Sep 2001 13:10:42 -0400 (EDT) To: "emil artin" cc: caml-list@inria.fr Reply-to: bcpierce@cis.upenn.edu Subject: Re: [Caml-list] OCaml for system programming? In-reply-to: Your message of Tue, 11 Sep 2001 18:33:24 +0200. <200109111633.f8BGXOx23823@mailgate5.cinetic.de> Date: Tue, 11 Sep 2001 13:10:42 EDT Message-ID: <9478.1000228242@saul.cis.upenn.edu> From: "Benjamin C. Pierce" Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > Is it reasonable to use OCaml for (low-level) system programming? > I have implemented some tools for filesystem maintenance > (things like resizing, ...) in C. As a challenging exercise > (for an OCaml newbie) I planned to reimplement my tools in > OCaml. But I don't know if it is managable at all!! For at least certain sorts of systems programming, OCaml is wonderful. For example, we've been very happy with it for implementing Unison (a pretty serious file synchronizer, including a home-grown RPC implementation and lots of low-level system call twiddling). It's also been used by projects like Ensemble, with good results. I wouldn't be at all surprised if you could implement most or all of an industrial strength filesystem in OCaml. (The foxnet project at CMU, though, raises a few caveats -- they had quite a bit of trouble with things like the need to have multiple views of packet headers. The Cyclone project [Jim and Morrisett] is an interesting alternative approach that tries to address some of these head on.) Benjamin ----------------------------------------------------------------------------- BENJAMIN C. PIERCE Associate Prof., Computer & Information Science bcpierce@cis.upenn.edu University of Pennsylvania +1 215 898-2012 200 South 33rd St. Fax: +1 215 898-0587 Philadelphia, PA 19104, USA http://www.cis.upenn.edu/~bcpierce ----------------------------------------------------------------------------- ------------------- 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