
History of T - revorad
http://www.paulgraham.com/thist.html
======
raganwald
"I object to doing things that computers can do." --Olin Shivers

"I start getting the shakes real bad around 10am, right before my advisor
meetings. A 10 oz. Jack 'n Zac helps me get through the meetings without one
of my students winding up with his severed head in a bowling-ball bag. They
look at me funny; they think I twitch a lot. I'm not twitching. I'm
controlling my impulse to snag my 9mm Sig-Sauer out from my day-pack and make
a few strong points about the quality of undergraduate education in Amerika."
--Olin Shivers, from the scsh manual "acknowledgements"

~~~
lsb
If I thought anyone cared, if I thought anyone would even be reading this, I'd
probably make an effort to keep up appearances until the last possible moment.
But no one does, and no one will. So I can pretty much say exactly what I
think.

Oh, yes, the acknowledgements. I think not. I did it. I did it all, by myself.

The acknowledgements of the scsh manual is one of the most entertaining pieces
of a technical manual I've read.

------
ken
It's funny to hear how Lisp implementors of the day thought Scheme was too
dynamic to be implemented efficiently.

Greenspun's experience with Scheme performance, including a startling
confession from Sussman (as remembered by Greenspun, anyway):
[http://philip.greenspun.com/bboard/q-and-a-fetch-
msg?msg_id=...](http://philip.greenspun.com/bboard/q-and-a-fetch-
msg?msg_id=0006XQ)

------
msluyter
This article is both inspiring and depressing. Depressing because it reminds
me of how little I truly know about computing. :(

------
jlouis
Maybe a brave professor will set down a Team of 6-7 skilled graduates and hack
out a language of the future again. It is about time it happens. When I see
around the world of academia I am not seeing that happen that much though as
good old software engineering on creating a good compiler will not produce any
articles.

It is sad though.

------
jmatt
This essay reminds me of the HOPL papers
(<http://en.wikipedia.org/wiki/HOPL>).

As a younger hacker it provides insight to what was going on in the LISP and
Scheme communities in the 80s. (Thanks PG!)

------
leoc
Johnathan Rees' T project page has a list of errata to Shivers' article.

<http://mumble.net/~jar/tproject/>

------
patrickg-zill
Is anyone using T currently? Or anything directly T-derived?

~~~
revorad
It would also be interesting to compare it with Arc.

~~~
carterschonwald
comparison: T is Scheme with an optimizing compiler that was the state of the
art that also served as a backend for a few other languages

Arc is a few syntactic rewrites layered on top of dr scheme with some
relatively unique libraries that could easily be ported back to dr scheme.

~~~
pg
The test of a language is what it gives the user, not how many lines of code
it is. JMC's original Lisp is about 50 LOC.

Imagine if I spent the next year writing an immensely complicated optimizing
compiler for Arc, and succeeded in making it 2x faster than code generated by
the compiler the MzScheme guys have spent so many years writing. A lot of
people would be more impressed with Arc then. And yet I'd have pretty much
wasted my time. Arc is already acceptably fast. So at the end of this exercise
I'd have produced a language that was better in ways users didn't care about,
and no better in the ways they do (language features).

Instead I work on language design. Like JMC's code, this kind of thing is easy
to copy-- once someone has already shown it to you.

You know, when I write about how one should work on the problems that really
matter instead of the ones that are prestigious, people read those essays and
think "yes, obviously, that's exactly what I'd do." But it's not till you try
working on unfashionable problems that you see how immense the pressure is to
work on fashionable ones.

Just as well I've avoided saying most of the "things you can't say," or 90% of
the people who read that essay and think "hear, hear" would hate me
instead....

~~~
CSchonwald
so why aren't you using Dr Scheme directly? [edit in response to pg's edit] to
be specific, why don't you have arc include the various high level modularity
and semantic abstractions that Dr Scheme exposes? eg 1) a powerful high level
macrosystem 2) ways of specifying / enforcing module interfaces 3) everything
else that i'm forgetting

~~~
pg
1) Because I don't think you want anything more "powerful" than defmacro-style
macros. 2) Because at this stage I'm focusing mostly on making programs
shorter.

~~~
CSchonwald
fair enough. On that note,
<http://www.ccs.neu.edu/scheme/pubs/scp91-felleisen.ps.gz> is probably the
best formal treatment concision in a programming language.

------
sspencer
Any links anywhere to some sample applications or code snippets written in T?

Sounds like an interesting variant of Lisp.

~~~
revorad
You can get the last versions of T here - <http://mumble.net/~jar/tproject/>

Haven't checked if there's any sample code.

~~~
sigstoat
it looks like there is more recent stuff available at:
<http://people.csail.mit.edu/riastradh/>

also of interest:
[http://web.archive.org/web/20070205145001/mumble.net/~campbe...](http://web.archive.org/web/20070205145001/mumble.net/~campbell/t/t.html)

