[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: T and franz
- To: Olin.Shivers@CMU-CS-H
- Subject: Re: T and franz
- From: fateman%ucbdali@Berkeley (Richard Fateman)
- Date: Sat, 4 Feb 84 17:50:20 GMT
- Cc: franz-friends@Berkeley
- Original-date: Sat, 4 Feb 84 09:50:20 pst
From @MIT-MC:shivers@cmu-cs-h Sat Feb 4 01:21:34 1984
Subject: T and franz
T is one of the new lexically-scoped lisps.
That is, T is a new language which doesn't use the same semantics as
Lisp, but rather different semantics currently in vogue. I can't
argue against this because my current work is in a lexically scoped
and strongly typed language. It is implemented on top of Franz Lisp
at the moment. I do not see any advantage, linguistically, in building
such systems on top of T or Franz.
I've written large systems, AI, and 3D graphics programs in both franz and T.
I haven't seen any that you've written in Fran. Were they any good?
I prefer T to franz hands down. The question of "why" can be broken up into
(1) franz is the pits and (2) T is good stuff.
In other words, you find it difficult to be objective, and prefer to
give us your subjective impression. Without knowing your qualifications to
judge, this is hard to evaluate.
Here at CMU, our professors told us last week that anyone writing AI qualifier
programming tasks in franz wouldn't be likely to get a good grade.
I find that rather hard to believe. They
didn't have the patience to wait around for the programs to terminate. What
can I say?
You can provide some evidence that the T system is faster. Of course it
could be. Early papers on T claimed it was 40 times faster than Franz, but
this is absurd, overall, since it would mean that T (on a VAX 780) would
have to run about 10 times faster than a KL-10 Maclisp system. It is
not clear what you mean about termination.
Just the fact that T is lexically scoped gives you tremendous power and
cleanliness in your code. One of the advantages of a lexically scoped lisp
like T is that the semantics of code is the same interpreted and compiled.
Lexical scoping also provides opportunities for compiler optimizations not
available to dynamically scoped lisps. While franz is known for its pessimizing
compiler, T uses an optimizing compiler based on Bliss tn packing techniques.
As I said earlier, evidence would be of interest. I heard, for example,
that the very highly optimizing Common Lisp compiler based on Guy Steele's
Rabbit design was abandoned by DEC. Maybe some reader could confirm this.
Aside from efficiency issues, T is a pleasant language to write in.
The whole concept is just very clean. The entire system -- compiler,
interpreter, gc, loader -- is written in T.
This is certainly a fine prospect. Though if it doesn't run Lisp programs
(e.g. Macsyma, Boyer-Moore Theorem Prover, PAM, PEARL, SLANG) then
it becomes less interesting to me. I guess we have different objectives.
The language has great data
types for systems hacking. The naming conventions were reworked without
worrying about compatibility with previous lisps, with the result that
the syntax was cleaned up considerably. Etc, etc.. I could go on, but I'm
beginning to froth at the mouth.
Have you looked at "C"? Someone here wrote a package for Franz to make
available the same data types and structuring as available in "C".
I already knew that T had strong advocates (I wonder, are they
the same Yalies who thought APL was the cat's meow a few years back?)
But as for the following statements
(1) T is fast.
(2) T is a good language design, even if it is not Lisp.
(3) CMU professors like it and hate the sight of Franz.
(4) Olin Shivers likes T better than Franz.
I am aware of evidence supporting only (2) and (4).