From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id D1861BC68 for ; Tue, 12 Dec 2006 10:05:47 +0100 (CET) Received: from mail131.pi.net.pl (gips.pi.net.pl [194.176.102.99]) by discorde.inria.fr (8.13.6/8.13.6) with SMTP id kBC95iuq028799 for ; Tue, 12 Dec 2006 10:05:47 +0100 Received: (qmail 32323 invoked from network); 12 Dec 2006 09:06:04 -0000 Received: from unknown (HELO ?62.179.90.202?) (p.wieczorek@epf.pl@62.179.90.202) by 194.176.102.131 with SMTP; 12 Dec 2006 09:05:59 -0000 Message-ID: <457E71F7.3070508@epf.pl> Date: Tue, 12 Dec 2006 10:10:15 +0100 From: Piotr Wieczorek User-Agent: Thunderbird 1.5.0.8 (Windows/20061025) MIME-Version: 1.0 To: caml-list Subject: A few patches to Ocaml 3.09.2 Content-Type: text/plain; charset=ISO-8859-2; format=flowed Content-Transfer-Encoding: 7bit X-Miltered: at discorde with ID 457E70E8.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocaml:01 ocaml:01 compiler:01 mimuw:01 submodules:01 compiler:01 cmi:01 sig:01 mli:01 sig:01 cmi:01 val:01 foo:01 val:01 bytecode:01 As part of my master's thesis I've written a few patches to the Ocaml 3.09.2 compiler. You can find them under: http://rainbow.mimuw.edu.pl/pw189451/~ocaml/ Patch: export.patch - lets you specify signatures of submodules of packed module to be included in signature of the packed module. It adds command line argument -export " ..." extsig.patch - makes compiler to search for signature of the given name in .cmi files. You can write: "import Sig" in mli file and it makes compiler to look for sig.cmi file and load signature from the file. sigops.patch - lets you create new signature based on source signature by specifying which fields of the signature should/should not be exported. You can write "include Sig without (val foo and type bar)" or "include Sig using (val rhu and type barb)" retyping.patch - lets you retype bytecode module to use new signature being subtype of the signature of the module It adds command line argument "ocamlc Mod.cmo -retype -o new/Mod.cmo" - if there is Mod.cmi in "new" directory it will try to make it signature of the new/Mod.cmo module. whole.patch - patch being sum of all the above mentioned patches. Perhaps you'll find them interesting. Yours sincerely, PiotrWieczorek --------------------- Panorama Internetu - prognoza pogody, poczta e-mail z największym załącznikiem, SMS, wyszukiwarki: Gooru, Anonser, serwisy: randki, ogłoszenia, wakacje, program TV, Kina, muzyka, DVD, newsy, inne. http://www.panoramainternetu.pl/ (http://www.epf.pl/)