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 mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 891CCBC37 for ; Tue, 10 Nov 2009 09:39:35 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhQBAES1+ErRVdPEkGdsb2JhbACQFoFtgjCHCj8BAQEBCQkMBxMDr3uBOYYgiGoBAwMFhDkEgWg X-IronPort-AV: E=Sophos;i="4.44,715,1249250400"; d="scan'208";a="36478437" Received: from mail-yw0-f196.google.com ([209.85.211.196]) by mail2-smtp-roc.national.inria.fr with ESMTP; 10 Nov 2009 09:39:34 +0100 Received: by ywh34 with SMTP id 34so3315304ywh.1 for ; Tue, 10 Nov 2009 00:39:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=53NWEIphAEa43X4kA3Vk3RSf9FXjgfxcFnllc+0xduM=; b=Cp70VpqOkPI7QBWTRe2jF7xt5uR4qxJaTnfdLdZb7h2vyIWdVirI/l6s4Gb80iRVtF vSbfjwo1xGtaFU42saqt9qpBoUtA4kHj0jaNkZTxg9+ibxy2asOHmBzSGxiSB3nzSkrN k1BeD9Fq78NC3MWVMubEcvlSQnXRQhs5dorZA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=fE/d6qyktyF5If/5aCR7MJpvRBE7s3bhU2M983Q0/HXbMcRkN6je8xpcBGGJh7xTZ6 aSlClHhYJQlcm0YJQylcDbAzbvtVo1yy3n7/PKI9SUaTRBALz71IFG/SWv1uSdgAmBVU h7ET6qLWxpv77Cmh5KLzfCOF1y+CDJbdwNB/I= MIME-Version: 1.0 Received: by 10.101.169.26 with SMTP id w26mr3842602ano.5.1257842373708; Tue, 10 Nov 2009 00:39:33 -0800 (PST) In-Reply-To: <6cb897b30911100031k7cee1d56tbe11f1d5adce9af4@mail.gmail.com> References: <42c6c020911100013h22f62eacr45e811e668aed42e@mail.gmail.com> <6cb897b30911100031k7cee1d56tbe11f1d5adce9af4@mail.gmail.com> Date: Tue, 10 Nov 2009 09:39:33 +0100 Message-ID: <527cf6bc0911100039y2d776f23n855ac19b47838036@mail.gmail.com> Subject: Re: [Caml-list] Modules From: blue storm To: Pierre-Evariste Dagand Cc: Wouter Swierstra , caml-list@inria.fr Content-Type: text/plain; charset=ISO-8859-1 X-Spam: no; 0.00; pierce's:01 functors:01 ocaml's:01 ocaml:01 oreilly-book:01 beginner's:01 ocaml:01 bug:01 storm:98 10,:98 2009:98 beginners:01 imho:01 wrote:01 caml-list:01 I'd also add : - the "formal" part of the manual (Part II) description of module types : http://caml.inria.fr/pub/docs/manual-ocaml/manual018.html . In particular the "Type specifications" section is quite informative imho. - the module-related chapter of the "UUU book" : http://caml.inria.fr/pub/docs/u3-ocaml/ocaml-modules.html If you're interested in theory, you can find an introduction to the ML Module system theory in the Pierce's book "Advanced topic in Types and Programming Languages" [1], and a some more advanced papers in the "A Few Paper On Caml" section of this website : http://caml.inria.fr/about/papers.en.html [1] http://books.google.com/books?id=A5ic1MPTvVsC&pg=PA293&dq=pierce+module+ML#v=onepage&q=pierce%20module%20ML&f=false On Tue, Nov 10, 2009 at 9:31 AM, Pierre-Evariste Dagand wrote: > Hi Wouter, > >> While I'm familiar with functional programming, I am occasionally puzzled by >> errors relating to the module system. > > That's normal, everyone does, at some point. Especially when you start > having Parameterized Modules (called Functors in ML) all over the > place. > >> I was wondering if there was a >> comprehensive overview/tutorial of OCaml's module system. > > For a comprehensive source of information, there is the OCaml manual: > > http://caml.inria.fr/pub/docs/manual-ocaml/manual004.html > > For a tutorial on modules, I would recommend Chapter 14 of "Developing > Applications With Objective Caml": > > http://caml.inria.fr/pub/docs/oreilly-book/html/index.html > > > Hope this helps, > > > -- > Pierre-Evariste DAGAND > http://perso.eleves.bretagne.ens-cachan.fr/~dagand/ > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs >