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 DAA19480; Sun, 16 May 2004 03:04:00 +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 DAA19422 for ; Sun, 16 May 2004 03:03:59 +0200 (MET DST) Received: from smtp1.adl2.internode.on.net (smtp1.adl2.internode.on.net [203.16.214.181]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i4G13uEV026635 for ; Sun, 16 May 2004 03:03:57 +0200 Received: from [192.168.1.200] (ppp116-155.lns1.syd2.internode.on.net [150.101.116.155]) by smtp1.adl2.internode.on.net (8.12.9/8.12.9) with ESMTP id i4G13nZq091153; Sun, 16 May 2004 10:33:54 +0930 (CST) Subject: Re: [Caml-list] Announcing ocalibs. From: skaller Reply-To: skaller@users.sourceforge.net To: xm@xmunkki.org Cc: caml-list In-Reply-To: <20040515235711.A2644@xmunkki.org> References: <20040515131209.A32558@xmunkki.org> <004901c43abd$f83b6ad0$19b0e152@warp> <20040515235711.A2644@xmunkki.org> Content-Type: text/plain Message-Id: <1084669428.19838.57.camel@pelican.wigram> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.2.2 (1.2.2-4) Date: 16 May 2004 11:03:49 +1000 Content-Transfer-Encoding: 7bit X-Miltered: at nez-perce with ID 40A6BDFC.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; caml-list:01 sourceforge:01 2004:99 2004:99 cannasse:01 recursion:01 recursion:01 abstraction:01 instantiate:01 9660:01 glebe:01 ocaml:01 nicolas:01 variants:01 variants:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk On Sun, 2004-05-16 at 06:57, Jere Sanisalo wrote: > On Sat, May 15, 2004 at 10:48:25PM +0200, Nicolas Cannasse wrote: > >However one of the problem when writing games with ocaml is the lack of > >mutual recursives modules, I would expect recursion is no problem for games because games tend to need dynamic binding, which classes provide, and recursion via class type abstraction works fine across module boundaries. The big problem with classes is *intramodule* type recursion, since mutually recursive class types can't also recurse with variants and tuples (at least they couldn't last time I played with them). To fix this you have to make your class polymorphic, and then instantiate in an ordinary (recursive) type declaration. Polymorphic variants may help with this since they don't need to be declared. -- John Skaller, mailto:skaller@users.sf.net voice: 061-2-9660-0850, snail: PO BOX 401 Glebe NSW 2037 Australia Checkout the Felix programming language http://felix.sf.net ------------------- 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