[jar1@mumble.net: Re: language-manifesto]

Francois-Rene Rideau Francois-Rene Rideau <fare@tunes.org>
Tue Aug 13 22:10:02 2002

Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

I've been contacting Jonathan Rees about various subjects,
and asked him to comment about T. Here's his answer...

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
[  TUNES project for a Free Reflective Computing System  | http://tunes.org  ]
A programming language is low level
when its programs require attention to the irrelevant.
	-- Alan Perlis

Content-Type: message/rfc822
Content-Disposition: inline

Received: from samaris
	([] helo=localhost ident=fetchmail)
	by Samaris with esmtp (Exim 3.35 #1)
	id 17e5aA-0008UB-00
	for fare@localhost; Mon, 12 Aug 2002 05:09:26 +0200
Delivered-To: fare@bespin.org
Received: from mail.bespin.org []
	by localhost with IMAP (fetchmail-5.9.11)
	for fare@localhost (single-drop); Mon, 12 Aug 2002 05:09:26 +0200 (CEST)
Received: from rosebud (sdsl-64-7-15-66.dsl.bos.megapath.net [])
	by bespin.org (Postfix) with ESMTP id E3B50D65
	for <fare@tunes.org>; Sun, 11 Aug 2002 20:05:58 -0700 (PDT)
Received: from ping
	([] helo=ping.mumble.net.mumble.net ident=jar)
	by rosebud with esmtp (Exim 3.12 #1 (Debian))
	id 17e5VA-0002j8-00; Sun, 11 Aug 2002 23:04:16 -0400
To: fare@tunes.org
Cc: jar1@mumble.net
In-reply-to: <20020706210245.GA6873@hell.mine.nu> (message from Francois-Rene
        Rideau on Sat, 6 Jul 2002 23:02:45 +0200)
Subject: Re: language-manifesto
From: Jonathan A Rees <jar1@mumble.net>
References: <20020622001317.GA23864@ZhengHe.hell.mine.nu> <E17O0k9-0005nF-00@rosebud> <20020701222509.GA4378@hell.mine.nu> <20020706210245.GA6873@hell.mine.nu>
Message-Id: <E17e5VA-0002j8-00@rosebud>
Date: Sun, 11 Aug 2002 23:04:16 -0400

   Date: Sat, 6 Jul 2002 23:02:45 +0200
   From: Francois-Rene Rideau <fare@tunes.org>

   BTW, while I'm at it, what do you think of T?
   I mean, what would be good or wrong about resurrecting T?
   You must have ideas about what was great/wrong about it,
   what makes it modern or obsolete today, etc.
   Is there any kind of hindsight report about T?
   (I have read the fascinating piece by Olin Shivers
   about the history of T, but I suppose I'm looking for something
   more specific about the technicalities of language/system design.)
   BTW, what has been, is, or will be your involvement with E?

I haven't thought about it much since I stopped using it in about
1985, but here are some thoughts:

- I was pleased to learn that the anonymous-operation idea (generic
  operations as keys that can be controlled) had some role in
  something called "energetic secrets" in Joule, but I don't know any

- I have come across people lately (e.g. Paul Graham, Stan Letovsky)
  who think T was great, and that's gratifying.

- I'm glad that capability semantics is finally being fleshed out in
  E; it's something I wanted to develop in T but didn't.

- In retrospect I think the emphasis on fast native code was
  misguided, and that T would have had more impact if its development
  effort had gone into portability and its interface to external
  facilities, such as graphics, OS processes, and the network (same
  goes for Scheme 48).

- I think object-oriented programming is overrated (you probably saw
  my flame on that subject).  Nowadays I would do my best to make a
  language have a declarative flavor to it, even if it weren't a logic
  or functional language.

- The idea of having lots of meta-operations on functions still seems
  good, but there's probably a better way to do it.

- I have mixed feelings about "unspecified" behavior and values.  On
  the one hand one wants a language to embody the weakest adequate
  theory, which means lots of underspecification.  On the other hand,
  it seems inevitable that users will take any particular interpreter
  as an oracle for the intended theory and equate the interpreter's
  total extension of the theory to be the same as the theory itself.
  So I have a lot of sympathy for the total determinism found in ML
  and E - it allows the user to use the interpreter to verify a class
  of weak theorems (x evaluates to y).

I need to look over Olin's piece again so that I can alert him of
inaccuracies, of which I found many when I first scanned it.  But I'm
glad he wrote it down.