From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id p2P8iJQV002388 for ; Fri, 25 Mar 2011 09:44:23 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgQDAL1UjE1KfVK2kGdsb2JhbAClSAgUAQECCQkNBxQEIakHilSCIYUyL4hcAQEDBYVkBIx1g1RzhEI6 X-IronPort-AV: E=Sophos;i="4.63,242,1299452400"; d="scan'208";a="79034232" Received: from mail-wy0-f182.google.com ([74.125.82.182]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 25 Mar 2011 09:44:23 +0100 Received: by wyf23 with SMTP id 23so1312411wyf.27 for ; Fri, 25 Mar 2011 01:44:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:content-type:mime-version:subject:from :in-reply-to:date:content-transfer-encoding:message-id:references:to :x-mailer; bh=fAH2a2FRdkza6V/7WCka3klhiGuPzVgmS+iMW6Iyytc=; b=UvNsKgFtSndtgWPfB7s5jPIO7D100c2sTfa/nQ1dqhzrkHEgDsuDKKXyP6pPJJV/H8 CkrngJo930jFDjNKDxb81HTaKuQl00giKalEDV2sasRF3rbNvQq5m628XSR3LH73upSJ goOoefjiJPwYppRLqPv+lMSCGx1LCvWK4w+zs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=content-type:mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to:x-mailer; b=gALPJXaioGcpFg6OoIXi2wma6MB3ChqeSdJTdDthRkdslblW/Q8n9sTNGnTobvfeZ+ jElMLOBc+rlC1yRLEdajUrMqTyxjX7vNduwACeiwWVmiOp5b+QEiZKK3Feu6UWKWNxEC G8lnRujVjE0yUBauKZQKohLOccxrmA2L4WKqs= Received: by 10.227.195.75 with SMTP id eb11mr476836wbb.120.1301042663061; Fri, 25 Mar 2011 01:44:23 -0700 (PDT) Received: from [192.168.0.195] ([95.60.213.7]) by mx.google.com with ESMTPS id l24sm356454wbc.30.2011.03.25.01.44.21 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 25 Mar 2011 01:44:22 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Apple Message framework v1082) From: Joel Reymont In-Reply-To: <89643D7F-B0F9-4452-BBAF-0445D9D3CA4E@gmail.com> Date: Fri, 25 Mar 2011 08:44:19 +0000 Content-Transfer-Encoding: 7bit Message-Id: References: <89643D7F-B0F9-4452-BBAF-0445D9D3CA4E@gmail.com> To: caml-list X-Mailer: Apple Mail (2.1082) Subject: [Caml-list] Re: module typing issue Solved, thanks to the generous help of the #ocaml irc channel. module type Message = sig type obj type variant val make : unit -> obj (* encapsulate object in a variant type *) val convert : obj -> variant val print : obj -> unit end module type Request = sig include Message end (* dispatches based on a request *) module type Reply = functor (Req : Request) -> sig include Message val dispatch : Req.variant -> obj end module Server (Req : Request) (REP : Reply) = struct module Rep = REP(Req) let server = while true do let req = Req.make () in let var = Req.convert req in let rep = Rep.dispatch var in Req.print req; Rep.print rep done end -------------------------------------------------------------------------- - for hire: mac osx device driver ninja, kernel extensions and usb drivers ---------------------+------------+--------------------------------------- http://wagerlabs.com | @wagerlabs | http://www.linkedin.com/in/joelreymont ---------------------+------------+---------------------------------------