Manifest: Thursday 9 March 2000
Assignments Due | |
Now | Please fill out mid-term survey (both sides) | Today, 3:30 | Go to Ion Stoica's seminar | Tuesday, 21 March (11am) | Send mail about functional languages (see below) | Tuesday, 21 Mar (5pm) | Trial Depositions (attorneys and witnesses only) |
Thursday, 23 Mar (11:59pm) | Project Prelminary Report |
Monday, 3 April (11:59pm) | Position Paper 4 (Trial Verdicts) - Jurors Only |
Problem Set 3 will be handed out after Spring Break and due April 11.
Read before Tuesday 21 March:
· | David C. Keenan. To Dissect a Mockingbird: A Graphical Notation for the Lambda Calculus with Animated Reduction. 1996.
| |
A clever and intuitive way of understanding Lambda Calculus. Try to translate his examples into traditional textual notation.
|
||
· | John Backus. Can Programming Be Liberated from the von Neumann Style?. Turing Award Lecture, 1977.
| |
John Backus (developer of FORTRAN) makes the case for functional
programming in his Turing Award Lecture.
|
||
· | Alex Aiken, John Williams and Ed Wimmers. The FL Project: The Design of a Functional Language.
| |
Provides an overview of FL, the language derived from the FP language introduced in Backus' Turing Lecture. |
Readings Email
After reading these papers (and before 11am on Tuesday 21 March), send a short email to cs655-staff speculating on why functional languages have not been successful outside academia.
Read before Thursday 23 March:
· | Alex Aiken and Brian Murphy. Static Type Inference in a Dynamically Typed Language.
| |
The authors present a system for type inference for FL using an operational semantics. Try to see through the complex notation and understand what is really going on. |
From what I've read, I get the impression this book was written in a
rush, and with the purpose of cramming tons of nonsense and filler in
just to have an excuse to present Scheme (a pathetic language). The
authors claim to present a view of programming that's widely applicable,
and state that top-down (i.e. procedural) programming is by far not the
best way to think about programs abstractly. Well, they don't stick to
their promise. They present a biased, one sided promotion of scheme as
the best language out there. No attempt is made to make comparisons
between functional languages like scheme and normal languages like
C. The end result, you come out knowing scheme and a few boring
applications of it, but can't apply any of it to real programming
tasks. This proves this book is just a fancy concotion of some egghead
professor who has no idea what happens in the real world. I found many
explanations to be incoherent and contradictory. The whole approach is
divorced from the computing practice. This is no 21 day book, in fact,
you can spend 21 months on it and still not learn a thing, because
there's nothing but worthless garbage here.
Amazon.com's lead review of SICP
Don't be mislead by the review --- its the best introductory Computer Science textbook,
possibly the best textbook ever written for any field.
University of Virginia
CS 655: Programming Languages
cs655-staff@cs.virginia.edu
Last modified: Mon Feb 26 12:48:20 2001