Re: Proposal for study: Add a categorical Initial type to ocaml

From: chet@watson.ibm.com
Date: Mon Oct 11 1999 - 00:38:44 MET DST


From: chet@watson.ibm.com
Message-Id: <199910102238.SAA17988@bismarck.chet.org>
To: William Chesters <williamc@dai.ed.ac.uk>
Subject: Re: Proposal for study: Add a categorical Initial type to ocaml
Date: Sun, 10 Oct 1999 18:38:44 -0400

Of course, it is problematic that "None" and "Some None" are
indistinguishable. But is it a reason to not have such a facility (as
a storage-cost-free "option" type constructor)?

I'd like to believe that the answer is "no" -- that the efficiency
values of such a type-constructor outweigh the semantic difficulties.

Of course, there's only one way to prove that -- by implementing both
and trying it out on large programs.

--chet--

>>>>> "WC" == William Chesters <williamc@dai.ed.ac.uk> writes:

    WC> The problem is that if you have a value of the type `int
    WC> option option', you have to be able to distinguish between
    WC> `None' and `Some None'! If both the enumeration-indirections
    WC> are elided, you can't; if only one of them is, you have
    WC> inconsistency which would presumably have to be resolved using
    WC> whole-program optimisation or something.



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:26 MET