Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: brogoff@speakeasy.net
To: Markus Mottl <markus@oefai.at>
Cc: Xavier Leroy <xavier.leroy@inria.fr>,
	"caml-list@inria.fr" <caml-list@inria.fr>
Subject: Re: [Caml-list] recursive modules
Date: Fri, 16 May 2003 09:31:49 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.44.0305160843550.26018-100000@grace.speakeasy.net> (raw)
In-Reply-To: <20030505112911.GA15651@fichte.ai.univie.ac.at>

On Mon, 5 May 2003, Markus Mottl wrote:
> On Mon, 05 May 2003, Xavier Leroy wrote:
> > The other point worth mentioning is that the detection of ill-founded
> > recursive definitions (definitions that have no fixpoint in a
> > call-by-value evaluation regime) is not completely static and may
> > cause an "Undefined" exception to be thrown at program initialization
> > time.
> 
> Guaranteed at program initialization time? But how about local modules?

Unfortunately local recursive modules are ruled out by syntax now. Any reason 
not to allow them? 

I agree with Markus' comment about having this in the main distribution. 
I made an mrec version, and I'm testing, but more people will thrash on 
this if it's part of the language. 

It's utility can't be denied, as it fixes the main problem with the ML 
module system, and just happens to sneak polymorphic recursion capabilities 
into OCaml (yes, I know they exist already because of first class 
polymorphism). I hope you decide to include this in 3.07. 

-- Brian

> > No decision has been taken yet concerning the possible integration of
> > this extension in a future release of OCaml.
> 
> This is of course a matter of how progressive (aggressive?) you want the
> main distribution to be. I think that more exotic but otherwise usable
> features in a distribution won't harm as long as they do not affect
> normal work. Why not add this as usual to the "language extensions"
> section of the manual?  People who want to be on the safe side are not
> forced to use anything that's in there.
> 
> This would make it much easier to get feedback, because only few people
> are daring enough to test things with some CVS-branch.
> 
> Regards,
> Markus Mottl
> 
> -- 
> Markus Mottl          http://www.oefai.at/~markus          markus@oefai.at
> 
> -------------------
> 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
> 

-------------------
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


  reply	other threads:[~2003-05-16 16:31 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-05  8:21 Xavier Leroy
2003-05-05 11:29 ` Markus Mottl
2003-05-16 16:31   ` brogoff [this message]
2003-05-05 12:20 ` John Max Skaller
2003-05-05 16:59 ` brogoff
2003-08-29 20:17 [Caml-list] Recursive Modules Christopher Dutchyn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.44.0305160843550.26018-100000@grace.speakeasy.net \
    --to=brogoff@speakeasy.net \
    --cc=caml-list@inria.fr \
    --cc=markus@oefai.at \
    --cc=xavier.leroy@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox