Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: skaller <skaller@users.sourceforge.net>
To: Markus Mottl <markus@oefai.at>
Cc: Richard Jones <rich@annexia.org>, caml-list <caml-list@inria.fr>
Subject: Re: [Caml-list] Why must types be always defined at the top level?
Date: 23 Jun 2004 09:32:32 +1000	[thread overview]
Message-ID: <1087947151.29427.82.camel@pelican.wigram> (raw)
In-Reply-To: <20040622225321.GB31368@fichte.ai.univie.ac.at>

On Wed, 2004-06-23 at 08:53, Markus Mottl wrote:
> On Tue, 22 Jun 2004, Richard Jones wrote:
> > The subject says it all really.  Why do types need to be defined at
> > the top level of a module?  Why isn't it possible to define them in
> > some nested scope?

>   let f () =
>     let module M = struct
>       type t = Foo
>     end in
>     M.Foo = M.Foo

But t is defined here 'at the top level of a module'.

> Note that you cannot return values such that the module name escapes
> its scope.

Which escapes me. Felix allows types to be defined
anywhere and also allows them to escape, it creates
no problem I'm aware of (except that you can't
name them without resorting to the typeof() operator).

I actually think there is some humour here:

Topic ---------------------Language X ------------ Language Y
Intermodule fun calls         Yes                       No
Intermodule type recursion    Yes                       No
Nest everything (excl funcs)  Yes                       No
Nest funcs                    No                        Yes
Full sep compil               Yes                       No
Platform indep code           No                        Yes

One of these languages is an FP, the other is 'a portable assembler'.
The portable assembler outperforms the FP on most FP like qualities,
but the FP code is actually portable .. [and like Bagley this
isn't a serious comparison :]

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


  reply	other threads:[~2004-06-22 23:32 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-22 22:41 Richard Jones
2004-06-22 22:53 ` Markus Mottl
2004-06-22 23:32   ` skaller [this message]
2004-06-23 12:01     ` Andreas Rossberg
2004-06-23 14:45       ` skaller
2004-06-23 16:28         ` Andreas Rossberg
2004-06-23 20:21           ` skaller
2004-06-23 20:52             ` skaller
2004-06-24 14:27               ` John Hughes
2004-06-24 16:47                 ` Andreas Rossberg
2004-06-24 17:30                   ` Markus Mottl
2004-06-24 17:45                 ` Xavier Leroy
2004-06-24 19:46                   ` John Hughes
2004-06-24 19:56                     ` David Brown
2004-06-24 19:57                     ` William D. Neumann
2004-06-24 20:13                       ` Olivier Andrieu
2004-06-24 23:26                     ` Brian Hurt
2004-06-25 10:20                     ` skaller
2004-06-25 11:07                       ` Basile Starynkevitch [local]
2004-06-25 12:30                         ` skaller
2004-06-25 14:38                           ` [Caml-list] Thread and kernel 2.6 pb still there in CVS Christophe Raffalli
2004-06-25 16:08                             ` [Caml-list] " Marco Maggesi
2004-06-25 16:32                               ` Markus Mottl
2004-06-28 15:08                             ` [Caml-list] " Xavier Leroy
2004-06-28 18:50                               ` Benjamin Geer
2004-06-29  2:26                               ` Christophe Raffalli
     [not found]                                 ` <7AFB5F64-C944-11D8-975C-00039310CAE8@inria.fr>
     [not found]                                   ` <40E11621.3050709@univ-savoie.fr>
2004-07-05 15:14                                     ` Christophe Raffalli
2004-07-05 16:34                                       ` Xavier Leroy
2004-07-06  9:33                                         ` Alex Baretta
2004-07-08 13:51                                           ` Christophe Raffalli
2004-07-08 15:03                                             ` Xavier Leroy
2004-07-09 23:21                               ` Donald Wakefield
2004-07-10 10:56                                 ` Damien Doligez
2004-06-24 23:23                   ` [Caml-list] Why must types be always defined at the top level? Brian Hurt
     [not found]                     ` <Pine.LNX.4.44.0406241813370.4202-100000@localhost.localdom ain>
2004-06-26 23:08                       ` Dave Berry
2004-06-25  1:59                   ` Yaron Minsky
2004-06-24 23:08                 ` Brian Hurt

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=1087947151.29427.82.camel@pelican.wigram \
    --to=skaller@users.sourceforge.net \
    --cc=caml-list@inria.fr \
    --cc=markus@oefai.at \
    --cc=rich@annexia.org \
    /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