T项目
Jonathan Rees-2004年12月-2010年2月更新
最近我突然意识到T项目没有连贯的存在在网络上。有奥林的历史,但我觉得再冷静一点,庄重一点,这才是正确的。
为了获得比我希望的更好的链接源、二进制文件、文档和邮件存档,以及有关最近惊人发展的信息,请参阅T复兴第页。
以下是我使用的最新版本的T:
- 版本2.9-从未被释放,它的唯一目的是引导3.0版。
- 3.0版--可能是前任真实版本3.0;这是最后一个版本1984年8月12日。
角色的铸造
- Drew McDermott-教授“编程语言专业知识”课程JAR在其中学习了Lisp和Scheme
- 斯蒂尔和萨斯曼撰写的论文解释了为什么语言很酷,如何才能表现出色
- John L.White、Rick Bryan和Bob Kerns教授JAR工艺Lisp实现的
- 约翰·奥唐纳-批准并管理项目让耶鲁大学的计算机科学摆脱昂贵的PDP-10;买了很多阿波罗工作站
- Roger Schank-获得资金(我认为是通过资本预算)
- 乔纳森·里斯-想做这样的事
- 肯特·皮特曼-语言设计的主要合作伙伴,原型和宣传
- 诺曼·亚当斯(Norman Adams)-受聘从事编译器后台工作结束;在未来几年继续工作(MS耶鲁大学毕业论文)
- Jim Philbin-从事运行时系统、代码生成器和并发
- Jim Meehan-对手册进行了善意的修改
- 斯蒂芬·斯莱德写了一本描述T的书
- 森林篮球-邀请整个项目在DEC度过夏天SRC公司
- 理查德·凯尔西-从事T3/Orbit转换编译器工作DEC SRC和耶鲁
- Olin Shivers-从一开始就感兴趣,在DEC和关于高阶类型重建的CMU
- David Kranz-从事跟踪调度代码生成在DEC和耶鲁继续在麻省理工学院进行了几年的T维护
- 约翰·兰平-在1984年DEC SRC
- 保罗·哈达克-约翰·奥唐纳离开耶鲁大学后接受了该项目;Kranz和Kelsey的顾问
- 泰勒·坎贝尔和布莱恩·马斯滕布鲁克——复兴者
照片中,从左到右:J.Rees、R.Kelsey、K.Pitman、N.Adams、,J.Philbin,D.Kranz,大约1986年。摄影师:可能是盖伊·L·斯蒂尔。
时间表
- 1981年春:里斯写的荒谬乐观的提议
- 1981年夏天:皮特曼、里斯、亚当斯在工作
- 1981-1984年:Rees、Adams和Philbin致力于充实它自托管(基于Steele的s-1 Lisp编译器的编译器)
- 1982年:Lisp会议文件
- 1984年:斯莱德的书T编程语言出版没有项目人员的积极参与
- 1984年春季:Rees编写了Orbit的初始版本
- 1984年:修订2方案报告
- 1984年夏天:DEC SRC主持的项目(Rees,Adams,Kelsey,Kranz,Shivers,Lamping)
- 1984年秋季:里斯离开项目去研究生院
- 1986年:发表了Orbit和面向对象的论文
- 1986:凯尔西论文基于重写的编译
- 1986年:修订3方案报告
- 1987年:普伦蒂斯·霍尔出版的斯莱德关于T的书
- 1988年:关于轨道后端的Kranz论文
- 1989年:发表了Mul-T论文
- 1991年:Kranz还在这么晚才发布?(CMU人工智能存储库)
- 2004年:坎贝尔和马斯滕布鲁克的T复兴?
- 2004年:Orbit论文再版PLDI 20年
出版物
有1982年的论文,还有其他一些,包括一些论文。上面提到了许多人。看看我的出版物页面或奥林的历史或书目复兴页。
影响力?
-
手册引文
- 我喜欢认为T影响了通用Lisp对象CLOS系统,尽管CLOS通用功能可以很容易地独立改造。当CLOS在20世纪80年代中期诞生时,大多数流行的基于Lisp的对象系统(我指的是用于控制adhoc多态性特定方法的选择操作员)编写名为的方法的应用参数Y上对象X的M使用Smalltalk-inspired消息传递语法
(发送X’M Y)
或者一些变体。对于T,我们观察到Lisp和Scheme已经在各种数据类型中通用,并且当你想要运行一个特定于您简单编写的对象X的M方法(M X Y),
名为M的函数(过程)为您选择并运行它。因此,使用普通函数会更加节省应用程序语法,而不是Lisp对象系统中的消息传递语法。虽然这是对一些人来说,通用函数思想是令人厌恶的最终在Common Lisp中获胜甚至被扩展为允许对参数进行调度除了第一个甚至超过参数组合的步骤由T。 - 马克·米勒报告T的对象系统,特别是使用对象而不是字符串作为方法选择器,对焦耳有影响。
- T使用完全基于continuation-passing的编译器(Orbit)的经验可能影响了Andrew Appel的工作。
- 我告诉哈尔·阿贝尔森和盖里·苏斯曼我使用的咖喱技巧编写T口译员,以及第二版计算机程序的结构和解释他们决定用这种风格重写口译员章节。
- 如果认为T的固有匿名类会更好(1981)有一些对Java的影响(匿名内部类,大约2000年),但那是非常不可能。首先,T的创意并不新颖,但最终来自休伊特和演员语言。第二,要彻底改造就不会那么困难了。第三,盖伊斯蒂尔可能是他们在两种语言中出现的原因。
用户
- 耶鲁大学计算机科学研究和教育。(JAR的想法是以有蹄类命名阿波罗工作站,因此,随着教育设施的扩大,它被命名为“动物园”。)
- Nat Mishkin在他的论文中使用了它。
- 有一个小组在喷气推进实验室使用T。我有一份很好的推荐信来自Erann Gat,印在某处的一张纸上。直到我找到它,读本页,或尝试谷歌搜索“gat-yale scheme mars”。
- 保罗·格雷厄姆喜欢它.
- 我发现MITRE公司有一群用户此URL.
- 多拉布·帕特尔写道:“T至少用于加州大学洛杉矶分校的人工智能课程从80年代中期(如果不是更早的话)到80年代后期,通过Michael Dyer教授和Margot Flowers教授(耶鲁大学和我相信Roger Schank的学生)。。。SARA系统的ARchitect学徒项目在Sun工作站。"
- 有时人们会在他们的简历.
继任者
- MIT的Mul-T-David Kranz项目?
-
方案48作者:Kelsey,Rees等人,1986年至今
奥林历史中的勘误表
- 当我1981年6月开始在耶鲁工作时,我刚刚毕业。奥林一定是82级或83级。
- 耶鲁大学至少还有一个人认识斯蒂尔和苏斯曼的论文,即Drew McDermott,他曾是苏斯曼;只有通过McDermott,我才知道Lisp和Scheme。(我之前试图通过阅读来理解它布鲁斯·威尔科克斯的MTS公司Lisp手册失败。)
- 斯蒂尔的CHEAPY,而不是RABBIT,是第一个Scheme编译器。这一定是在大约1977年。我认为它在声明或兔子TR中讨论过。
- 我忘记了Perlis的编程语言研讨会-非常有趣。那将是1981年的春天,这是我能毕业了。
- 关于接受AI社区以外的GC,公平起见你必须提到APL(可能只是使用了引用计数),SNOBOL4(具有真正的GC;内部非常类似Lisp)、Algol 68和Smalltalk。到1981年,功能上也可能被接受编程社区-ML、Hope、Miranda、POP2和朋友。
- 把UCI Lisp和犹他Lisp排除在外有点不公平PDP-10 Lisps的讨论。
- 乔治·卡雷特直到我离开后很久才加入NIL。我心中NIL的“灵魂”是约翰·怀特、里克·布莱恩和鲍勃·克恩斯。乔治格伦·伯克(不确定时机)在比赛结束后捡起了碎片原来的船员都离开了。
(NIL在麻省理工学院一直是一只丑小鸭,因为它在竞争Lisp Machine项目的天才。Lisp机器更性感,并成功吸引了更大、更有效、更多坚定的员工。) - 不要太确定苏斯曼/斯蒂尔的计划(NSCHSY)是1981年春天只有一个。你需要检查一下印第安纳州的人们走了多远;很可能他们已经那时已经有了一些东西。
- 关于Schank和O'Donnell,事件的顺序是约翰和我是朋友;我让他相信一个计划是好的我认为他不需要太多的说服力,因为他绝望于通过迁移到更便宜的硬件来降低成本);和约翰说服了沙克。顺便说一句,在我的一生中,我从未和罗杰说过话。[更新5/05:不再正确。]
- 至于在Maclisp中“爆破”原型,我不记得了细节,但完成大部分或全部Maclisp工作的人1981年是肯特·皮特曼,所以不要相信我。但这个原型不是用于引导;为此,我只做了通常的写作足够的Maclisp宏使Maclisp代码看起来有点像T代码,并精心安排编译器不使用任何功能Maclisp不支持-考虑到编译器(Steele的s-1 Lisp编译器)是用Maclisp编写的第一名。我们编译的第一个代码有点草率肯特写的口译员。
- 关于麻省理工学院计划与T/NIL关系的旁注:大约在1980年,我与一位名叫克里斯·汉森的本科生的对话想找点事做。苏斯曼和斯蒂尔一直在忙着工作在一个VLSI Scheme解释器上,我刚从一个for-fun上下来将芯片微码编译为PDP-10机器码的项目。我建议Chris将Scheme芯片微码转换为VAX汇编代码,用相对较少的工作获得Scheme在32位体系结构上运行的解释器。幸运的是他忽略了我建议的细节,而是为68000(无论是汇编代码还是C我都不知道)。虚拟机level在其生命周期的大部分时间里一直被称为“微码”麻省理工学院计划项目,这就是克里斯的项目。[我曾经和克里斯谈过这件事,他记得这件事不同;所以考虑到我可能制造了这种记忆。]
- 关于“T比……更重要”-再次注意皮特曼是T1,不是T 2。语素方面的工作是他的功劳,而不是我的。……再次注意到肯特和诺曼同时开始,1981年6月。
- 森林篮球邀请了组队并不是因为他认识我——他不知道我是谁——而是我想是因为和约翰·奥唐纳的关系。
- 关于DEC的“其他人都完成了”,这需要有资格的。我想福里斯特和斯莫基·华莱士会更开心,如果我们真的照我们说的做了,可能会邀请我们回来我们会为他们的新机器编写一个Scheme编译器,泰坦-或者至少创造了一个模拟物。
- 兰平的论文是“关于允许第一类对象保留一些自由参数,而不对具有要知道这个事实“(请参见生物).
- 我的研究生生涯年表如下。我在工作我从1984年到1989年获得硕士学位。我第一次学习昆虫学是在1989年。哈佛大学的生物课程一直持续到1990年Scheme-48-on-robot方案1991年至1993年在康奈尔大学工作。我于1995年1月在麻省理工学院获得博士学位,并于95-96年前往英国研究昆虫行为。
- 如果报告Pre-Scheme“有点死了”夸大其词。它仍然用于构建Scheme48,并且Michael Sperber正在用它来控制一个毛茸茸的多处理器金融模拟系统。我相信有其他用户,以及我们不断收到的错误报告证明了这一点。
T项目通过乔纳森·李斯根据Creative Commons Attribution 3.0美国许可证.
基于在mumble.net网站.