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=1.1 required=5.0 tests=AWL,HTML_MESSAGE,SPF_SOFTFAIL autolearn=disabled version=3.1.3 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 1DD15BC6B for ; Tue, 18 Sep 2007 16:15:58 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAH9670bAXQImn2dsb2JhbACCcIsgAgIHBAYHCBg X-IronPort-AV: E=Sophos;i="4.20,269,1186351200"; d="scan'208,217";a="1361292" Received: from discorde.inria.fr ([192.93.2.38]) by mail2-smtp-roc.national.inria.fr with ESMTP; 18 Sep 2007 16:17:04 +0200 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l8IEGQgJ013717 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Tue, 18 Sep 2007 16:16:26 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAH9670bAFOFunmdsb2JhbACCcIsgAgIHBAYPGA X-IronPort-AV: E=Sophos;i="4.20,269,1186351200"; d="scan'208,217";a="16369214" Received: from mail-red.research.att.com ([192.20.225.110]) by mail4-smtp-sop.national.inria.fr with ESMTP; 18 Sep 2007 16:17:02 +0200 Received: from [135.207.25.107] (yitzhakmac.research.att.com [135.207.25.107]) by bigmail.research.att.com (8.13.7+Sun/8.11.6) with ESMTP id l8IEGuXS006643 for ; Tue, 18 Sep 2007 10:16:56 -0400 (EDT) Mime-Version: 1.0 (Apple Message framework v752.3) In-Reply-To: <20070918.165354.267963120.garrigue@math.nagoya-u.ac.jp> References: <74cabd9e0709172327g42d34407wc7027db6d8c6fba6@mail.gmail.com> <20070918.165354.267963120.garrigue@math.nagoya-u.ac.jp> Content-Type: multipart/alternative; boundary=Apple-Mail-61--783089151 Message-Id: <0EAAD974-1E2B-4540-9219-F6766FAF1ACD@research.att.com> From: Yitzhak Mandelbaum Subject: Re: [Caml-list] Mutually recursive functions in different modules Date: Tue, 18 Sep 2007 10:16:31 -0400 To: caml-list@inria.fr X-Mailer: Apple Mail (2.752.3) X-Miltered: at discorde with ID 46EFDDBA.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; yitzhak:01 mandelbaum:01 yitzhak:01 recursive:01 recursive:01 functors:01 functors:01 recursion:01 compilation:01 beginner's:01 ocaml:01 bug:01 mandelbaum:01 recursion:01 compilation:01 --Apple-Mail-61--783089151 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Beware, though, that recursive modules cannot contain functors. Nor can functors be recursive. On Sep 18, 2007, at 3:53 AM, Jacques Garrigue wrote: > From: "Arthur Chan" >> Is it possible to have mutually recursive functions in separate >> modules? >> >> For example, is it possible for function x in module A to call >> function y in >> module B and vice versa? >> >> The reason why I'm asking is because I've written a good bit of my >> code with >> functors, and now I need to make some of the code mutually >> recursive, and >> thus, the mutually recursive functions have to be in separate >> modules. > > Recursive modules are available. See the "language extensions" section > of the reference manual. > (Note that this is about exactly what you asked, i.e. recursive > modules, not recursion between compilation units.) > > Jacques Garrigue > > _______________________________________________ > 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 -------------------------------------------------- Yitzhak Mandelbaum AT&T Labs - Research http://www.research.att.com/~yitzhak --Apple-Mail-61--783089151 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=US-ASCII Beware, though, that recursive = modules cannot contain functors. Nor can functors be recursive.


On Sep 18, = 2007, at 3:53 AM, Jacques Garrigue wrote:

From: "Arthur Chan" <baguasquirrel@gmail.com>
Is it = possible to have mutually recursive functions in separate = modules?

For example, is it possible for function x in module = A to call function y in
module B and = vice versa?

The reason why I'm asking is because I've written a = good bit of my code with
functors, and = now I need to make some of the code mutually recursive, and
thus, the mutually recursive functions have to be in = separate modules.

Recursive modules are available. = See the "language extensions" section
of the = reference manual.
(Note that this is about exactly = what you asked, i.e. recursive
modules, not = recursion between compilation units.)

Jacques = Garrigue

Caml-list mailing list. Subscription = management:


=

= --Apple-Mail-61--783089151--