forwarded message from Norman Ramsey
Stephen Weeks
sweeks@intertrust.com
Thu, 29 Mar 2001 16:08:40 -0800 (PST)
Received: from maguro.epr.com ([198.3.162.27]) by exchange.epr.com with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2650.21)
id H74F8BM3; Thu, 29 Mar 2001 16:06:59 -0800
Received: from magrathea.epr.com (firewall-user@magrathea.epr.com [198.3.160.1])
by maguro.epr.com (8.9.3/8.9.3) with ESMTP id QAA01029
for <sweeks@intertrust.com>; Thu, 29 Mar 2001 16:07:30 -0800 (PST)
Received: (from uucp@localhost) by magrathea.epr.com (8.9.3/8.7.3) id QAA24166 for <sweeks@intertrust.com>; Thu, 29 Mar 2001 16:07:28 -0800 (PST)
Received: from nodnsquery(140.247.60.30) by magrathea.epr.com via smap (V5.5)
id xma023942; Thu, 29 Mar 01 16:07:11 -0800
Received: from labrador.eecs.harvard.edu (labrador.eecs.harvard.edu [140.247.60.247])
by wally.eecs.harvard.edu (8.10.0/8.10.0) with ESMTP id f2U07Ai24862
for <sweeks@intertrust.com>; Thu, 29 Mar 2001 19:07:10 -0500 (EST)
Message-Id: <200103300007.f2U07Ai24862@wally.eecs.harvard.edu>
From: Norman Ramsey <nr@eecs.harvard.edu>
To: "Stephen Weeks" <sweeks@intertrust.com>
Subject: extensions
Date: Thu, 29 Mar 2001 19:07:14 -0500
This response from Murray Hill :-(
N
------- Forwarded Message
Return-Path: blume@research.bell-labs.com
Delivery-Date: Thu Mar 29 18:02:03 2001
Delivery-Date: Thu, 29 Mar 2001 18:02:02 -0500
Received: from dirty.research.bell-labs.com (dirty.research.bell-labs.com [204.178.16.6])
by wally.eecs.harvard.edu (8.10.0/8.10.0) with SMTP id f2TN22i27663
for <nr@eecs.harvard.edu>; Thu, 29 Mar 2001 18:02:02 -0500 (EST)
Received: from nslocum.cs.bell-labs.com ([135.104.8.38]) by dirty; Thu Mar 29 18:00:29 EST 2001
Received: from research.bell-labs.com (IDENT:blume@blume-pcmh.research.bell-labs.com [135.104.52.101])
by nslocum.cs.bell-labs.com (8.9.3/8.9.3) with ESMTP id SAA24389283
for <nr@eecs.harvard.edu>; Thu, 29 Mar 2001 18:00:29 -0500 (EST)
Sender: blume@research.bell-labs.com
Message-ID: <3AC3BE8D.BF8D5D9F@research.bell-labs.com>
Date: Thu, 29 Mar 2001 18:00:29 -0500
From: Matthias Blume <blume@research.bell-labs.com>
Organization: Lucent Technologies, Bell Labs
X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.2.16-3 i686)
X-Accept-Language: en, de, ja
MIME-Version: 1.0
To: Norman Ramsey <nr@eecs.harvard.edu>
Subject: Re: where clause for structure definitions
References: <200103292232.RAA00883@flatcoat.eecs.harvard.edu>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Norman Ramsey wrote:
>
> Dear MLers,
>
> I'm trying to port some of my SML/NJ code to compile with MLton
> as a kind of experiment. I've already found a bug in MLton, but
> in the meanwhile, I'm in trouble because I've availed myself of
> the wonderful `where clause for structure definition' extension.
> For example, I have the following in a signature in a functor
> argument:
>
> structure EncodingInterface : ENCODING_GENERATOR
> where Code.Constructor = ULinked.Constructor (* NOT SML'97 *)
>
> I'm embarrassed to say that this construct must expand to so many
> `where type' clauses that I can't find them all by hand. Can you
> suggest a way to find them automatically? Perhaps if I ask the SML/NJ
> compiler very, very nicely it would reveal the True SML'97 Way of
> writing this clause?
>
> Hopefully yours,
>
> Norman
We are SML/NJ. You will be assimilated. Resistance is futile. :)
(This is just our way of doing an "embrace and extend". Once the whole
world has been suckered into using SML/NJ, we will start charging money.... :)
Perhaps it would be easier (and more useful in the long run) to ask Steve Weeks
to add "where" for structures to MLton. After all, everybody agrees that its
omission from SML'97 is a mere oversight. Or you just don't switch (see above).
More seriously, I am not aware of any "rewrite this SML/NJism to true SML"
feature in the compiler. There are a bunch of other extensions that would
have the same problem. And more are probably to come.
(Sorry for not having a real solution. Maybe someone else can help.)
Matthias
PS: How are things at Harvard?
------- End of Forwarded Message