Multithreaded Parallelism: Languages and Compilers

Lecture Notes

LEC #

TOPICS

FILES

1

Expressing Parallel Computation

(PDF)

2

Implicitly Parallel Programming in pH: Functions and Types

(PDF)

3

A ג - calculus: A Basis for Functional Languages

(PDF)

4

A ג - calculus with Constants and Let - blocks

(PDF)

5

A ג - calculus with Let - blocks (continued)

(PDF)

6

The Hindley-Milner Type System

(PDF)

7

The Hindley-Milner Type System (Continued)

(PDF)

8

Lists and Algebraic Types

(PDF)

9

Desugaring List Comprehensions and Pattern Matching

(PDF)

10

Programming with Arrays

(PDF)

11

I- Structures and Open Lists

(PDF)

12

M- Structures: Programming with State and Nondeterminism

(PDF)

13

M- Structures Continued

(PDF)

14

λS: A Lambda Calculus with Side - effects

(PDF)

15

Using Monads for Input and Output

(PDF)

16

Using Monads to Structure Computation

(PDF)

17

Bluespec - 1: A language for hardware design, simulation and synthesis

(PDF)

18

Bluespec - 2: Bluespec Compilation Model & Introduction to programming

(PDF)

19

Bluespec - 3: The IP Lookup Problem

(PDF)

20

Bluespec - 4: Modules and Type Classes

(PDF)

21

Bluespec - 5: Programming Examples

(PDF)

22

Term Rewriting Systems

(PDF)

23

The Confluence of the ג - calculus

(PDF)

 Assignments

 

ASSIGNMENT

SUPPORTING FILES

Problem Set 1 (PDF)

Problem Set 2 (PDF)

ps2-3 (HS)

ps2-4 (HS)

ps2-5 (HS)

ps2-6 (HS)

Problem Set 3 (PDF)

ps3-1 (HS)

ps3-2 (HS)

ps3-3 (HS)

ps3-sample (FILE)*

Problem Set 4 (PDF)

language (FILE)*

ps4-1 (HS)

ps4-2 (HS)

Exams

This course has a midterm exam which accounts for 25% of a student's grade. The list of topics on the exam was provided to students in advance for preparation. Instructors who are interested in obtaining the solutions for this exam can contact MIT OpenCourseWare with their requests.

 

Midterm Topics (PDF)

Midterm Quiz (PDF)