From: Christophe Raffalli <Christophe.Raffalli@univ-savoie.fr>
To: Brian Hurt <bhurt@janestcapital.com>, caml-list@yquem.inria.fr
Subject: Re: [Caml-list] Re: Void type?
Date: Mon, 30 Jul 2007 19:43:03 +0200 [thread overview]
Message-ID: <46AE2327.4090904@univ-savoie.fr> (raw)
In-Reply-To: <46ADE367.8020801@janestcapital.com>
>
>
> I'm not sure I agree with this- especially the proposition that unit
> == truth. That would make a function of the type:
> unit -> 'a
> equivelent to the proposition "If true then for all a, a", which is
> obviously bogus. The assumption of the Ocaml type system is that you
> can not form "false" theorems within the type system (these correspond
> to invalid types). So either this assumption is false, or unit is the
> void type in the Ocaml type system.
>
Personnally, I think that we should have more subtyping than in OCaml.
Then, "void" is the smallest type (and quite equivalent to 'a.'a)
and "unit" is the bigest type. This looks natural for "void" and more
surprising for "unit", but you can see that you can do nothing with a
value of type unit (except matching it, which is not much), which mean
that is you do not match unit (you use "_" everywhere you would use "()"
in pattern), then any value can be safely cast to the unit type ... So
"void" is really the dual of "unit" and they are very distinct.
Christophe
PS: In PML it works like that (our server is down, so please wait
tomorrow if you want to try PML)
next prev parent reply other threads:[~2007-07-30 17:43 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-28 4:14 Stefan Monnier
2007-07-28 4:33 ` [Caml-list] " Erik de Castro Lopo
2007-07-28 4:51 ` Chris King
2007-07-28 18:49 ` Stefan Monnier
2007-07-28 18:53 ` Basile STARYNKEVITCH
2007-07-29 0:48 ` Stefan Monnier
2007-07-28 18:57 ` Arnaud Spiwack
2007-07-28 6:12 ` Daniel de Rauglaudre
2007-07-28 6:15 ` Chung-chieh Shan
2007-07-28 8:22 ` [Caml-list] " rossberg
2007-07-29 6:31 ` Chung-chieh Shan
2007-07-29 11:05 ` [Caml-list] " Arnaud Spiwack
2007-07-29 11:16 ` Jon Harrop
2007-07-29 11:36 ` Arnaud Spiwack
2007-07-29 12:43 ` Richard Jones
2007-07-29 12:58 ` Arnaud Spiwack
2007-07-29 17:02 ` Richard Jones
2007-07-29 20:06 ` Arnaud Spiwack
2007-07-29 22:55 ` Brian Hurt
2007-07-30 4:40 ` skaller
2007-07-30 23:13 ` Brian Hurt
2007-07-31 8:52 ` Richard Jones
2007-07-31 13:08 ` Chris King
2007-07-31 15:27 ` Markus Mottl
2007-08-01 11:37 ` Tom
2007-08-01 16:23 ` Markus Mottl
2007-07-30 4:44 ` Geoffrey Alan Washburn
2007-07-30 13:11 ` [Caml-list] " Brian Hurt
2007-07-30 13:32 ` Christopher L Conway
2007-07-30 13:35 ` Geoffrey Alan Washburn
2007-07-30 13:41 ` [Caml-list] " Chris King
2007-07-30 17:43 ` Christophe Raffalli [this message]
2007-07-30 17:58 ` Markus Mottl
2007-07-30 14:27 ` Jeff Polakow
2007-07-28 7:58 ` Sébastien Hinderer
2007-07-28 8:13 ` [Caml-list] " Basile STARYNKEVITCH
2007-07-28 12:29 ` Christophe TROESTLER
2007-07-28 13:36 ` 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=46AE2327.4090904@univ-savoie.fr \
--to=christophe.raffalli@univ-savoie.fr \
--cc=bhurt@janestcapital.com \
--cc=caml-list@yquem.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