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 TAA12607; Thu, 20 May 2004 19:06:29 +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 TAA12574; Thu, 20 May 2004 19:06:28 +0200 (MET DST) Received: from corwin.easynet.fr (corwin.easynet.fr [212.180.1.123]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i4KH6REV006606; Thu, 20 May 2004 19:06:27 +0200 Received: from asi-62.asi256ip.easynet.fr ([212.180.39.62] helo=gros) by corwin.easynet.fr with esmtp (Exim 4.34) id 1BQqzz-0006m5-C2; Thu, 20 May 2004 19:06:27 +0200 Received: from grand ([192.168.0.14] helo=grand.gallu.homelinux.org) by gros with smtp (Exim 3.36 #1 (Debian)) id 1BQqzy-0006vb-00; Thu, 20 May 2004 19:06:26 +0200 Received: by grand.gallu.homelinux.org (sSMTP sendmail emulation); Thu, 20 May 2004 19:06:26 +0200 From: "Sylvain LE GALL" Date: Thu, 20 May 2004 19:06:26 +0200 To: caml-list@inria.fr Subject: [Caml-list] [ANN] OCaml fileutils v0.2.1 Message-ID: <20040520170527.GA11115@grand> Mail-Followup-To: caml-list@inria.fr Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.6i X-Miltered: at nez-perce with ID 40ACE593.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; gall:01 le-gall:01 predicate:01 mkdir:01 stub:01 intersting:01 32,:01 cygwin:01 le-gall:01 gall:01 dummy:01 ocaml:01 ocaml:01 supported:01 readable:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Hello, I have been working for some times on a collection of utils to manipulate files following some UNIX convention. I provide for now those function : - cp : copy - mv : move/rename - ls : list ( pretty dummy ) - find : find a set of file according to a predicate ( is directory, is readable... ) - rm : delete file/directory ( can prompt, can delete children ) - mkdir : create a directory ( and optionnaly it's parent ) - test : do some test regarding a file ( is directory... ) - touch : update the mtime of a file - which : find an exec in a path This module is FileUtil All those function are based for now on the Unix module or the core ocaml ( mostly Sys ). There is no C stub at all. I provide by the same way a library for manipulating filename. It allows to compute some intersting things : - make_relative : make a path relative to a root path - make_absolute : make an absolute path out of a relative path and a root - compare : hierachical + lexicographic order - reduce : remove any a/../b, a/./b ... This module is FilePath FilePath is abstract and doesn't need to have a real filesystem*. FileUtil rely on the existence of a filesystem. Theorically it should be platform independent ( FilePath comes with four parser/lexer for each platform supported by ocaml : MacOS, Win32, Cygwin, Unix ). This should also imply that FileUtil is platform independent ( but it needs to be tested ). You can find the source and documentation here : http://www.carva.org/sylvain.le-gall/ocaml-fileutils.html http://sylvain.le-gall.net/ocaml-fileutils.html ( webpages are in french, but documentation is in english -- sorry ) Don't hesitate to send any feedback/recommendation/bugs. Kind regard Sylvain Le Gall ------------------- 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