From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id EC770D45F for ; Wed, 2 Nov 2005 02:44:10 +0100 (CET) Received: from xproxy.gmail.com (xproxy.gmail.com [66.249.82.204]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id jA21iAlc018595 for ; Wed, 2 Nov 2005 02:44:10 +0100 Received: by xproxy.gmail.com with SMTP id h30so36549wxd for ; Tue, 01 Nov 2005 17:44:09 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=XLsw1Afkd0jOFJW+dmu5qTjySXwSejNQFk4jV14TrWCfG4TIAaEB4Ogt9ONHlB/d/vagi/H2cF1f+MWPyuCtcqm7jezvRXfTQA5evy38IrI976OS79gJTFwIg5KGbks0Kr4peMTwYuBw3HTNFIrwBcr1TYbcQiJTEPFSj3lJ/N8= Received: by 10.64.233.6 with SMTP id f6mr1571542qbh; Tue, 01 Nov 2005 17:44:09 -0800 (PST) Received: by 10.65.23.20 with HTTP; Tue, 1 Nov 2005 17:44:09 -0800 (PST) Message-ID: Date: Wed, 2 Nov 2005 14:44:09 +1300 From: Jonathan Roewen To: caml-list@yquem.inria.fr Subject: [Caml-list] Creating ocaml libraries MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Miltered: at nez-perce with ID 436819EA.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 ocaml:01 internals:01 pervasives:01 stdlib:01 cmo:01 pervasives:01 char:01 ...:98 compile:01 functions:01 functions:01 kernel:01 kernel:01 cma:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_BY_IP autolearn=disabled version=3.0.3 Hi List, I'm having a problem writing my kernel (where user apps share the same application space/libraries). The problem stems from in_channel & out_channel types. I want to map these onto a file system layer implemented by the kernel. Whilst I don't mind making small modifications to the standard library internals, what I don't want to have to do is build the kernel into the standard library... So, say in pervasives.ml, I might have something like type in_channel =3D VFS.file_stream, and make all the functions that work on in/out channels to call VFS functions. Now, my question here is: how can I compile stdlib.cma without having to have the .cmo file(s) present? Or even written for that matter? One last question: could the VFS.ml implementation call functions in pervasives still? (Though, not the IO functions, unless there was some magic to not make it fall into an endless loop). Say land, lor, char_of_int, etc.? Kindest Regards, Jonathan