About Programming Language Exploration

Programming Language Exploration

Learn some new tongues over IAP 1996!

Description

Self-motivated whirlwind tour of contemporary research languages. Participants will study, experiment with, and present ultra-modern object-oriented, functional, and logic languages available freely on the net, from Self to Haskell to lambda-Prolog. Includes issues in real-world design like virtual machines and garbage collection.

Organization

At each meeting, we will introduce a new language. An implementation of the language will be available on Athena. You will learn the language, experiment with it, and write some small programs. We will issue a set of questions to guide your exploration. At the following meeting, a group of people will present their findings for the class and a general discussion will follow.

Prerequisites

We assume that you have a general computer science background, such as given by the course 6.001 (Structure and Interpretation of Computer Programs). Extensive language experience (Scheme, CLU, C++) is recommended. Useful background courses include 6.035 (compilers), 6.170 (software engineering lab), and 6.821 (programming languages). Also, you will need an Athena account for this course, so sign up for one now!

Schedule

Jan 12-Feb 2 TF11 Room 1-390

Object-oriented

1/12 Python
1/16 Self
1/19 Sather

Functional

1/23 Haskell
1/26 Haskell

Logic

1/30 Lambda-Prolog
2/2 Life

Language Links

Your guides

Your guides on this journey are Thomas Minka and Martin Szummer. We are both graduate students in Area II of the MIT Computer Science department.

Computer programmers create new languages all the time (often without even realizing it)
John W.F. McClain -- pdp8@ai.mit.edu