caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Alain Frisch <Alain.Frisch@inria.fr>
To: Bruno De Fraine <Bruno.De.Fraine@vub.ac.be>
Cc: caml-list <caml-list@inria.fr>
Subject: Re: [Caml-list] Type from local module would escape its scope?
Date: Mon, 03 Jul 2006 15:45:31 +0200	[thread overview]
Message-ID: <44A91F7B.6090204@inria.fr> (raw)
In-Reply-To: <069A1F65-E50C-4363-9CCA-C6CC9A453D09@vub.ac.be>

Bruno De Fraine wrote:
> While the following is rejected:
> 
> let foo (ignore: 'a -> unit) =
>   let module Foo : FOO =
>   struct
>     type t = int
>     let value = 1
>   end in
>   ignore Foo.value
> ;;

The 'a variable is existential and it must be instantiated (because
functional arguments are used monomorphically). Clearly, it will be
unified with Foo.t, which is abstract, and so the type for foo, if it
were well-typed, would be:

val foo: (Foo.t -> unit) -> unit

Foo.t would escape its scope, which is not ok.

-- Alain


  parent reply	other threads:[~2006-07-03 13:45 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-03 13:19 Bruno De Fraine
2006-07-03 13:23 ` [Caml-list] " Jonathan Roewen
2006-07-03 13:38 ` Jean-Marie Gaillourdet
2006-07-03 13:45 ` Alain Frisch [this message]
2006-07-03 13:51 ` Virgile Prevosto
2006-07-03 14:23   ` skaller
2006-07-03 14:50   ` Bruno De Fraine
2006-07-03 15:10     ` Jonathan Roewen
2006-07-03 17:30   ` Petty complaint (Was Re: [Caml-list] Type from local module would escape its )scope? brogoff
2006-07-03 18:50     ` Etienne Miret
2006-07-04 21:08     ` Boris Yakobowski

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=44A91F7B.6090204@inria.fr \
    --to=alain.frisch@inria.fr \
    --cc=Bruno.De.Fraine@vub.ac.be \
    --cc=caml-list@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;
as well as URLs for NNTP newsgroup(s).