## Announcements

- 18 Apr. 2005: The lecture tomorrow will be by Jeremy Siek about a
language for generic programming. Please take a look at the paper if you have time.
- 22 Mar. 2005: Assignment 5 is posted. It is due 31 March.
- 12 Mar. 2005: As mentioned on the course description, you can choose
to do a project instead of the final exam. If you are interested please
contact me.
- 23 Feb. 2005: Assignment 4 is posted. It is due 8 March.
- 23 Feb. 2005: Remember that the midterm is on 3 March.
- 16 Feb. 2005: The notes about references are available: PDF
- 10 Feb. 2005: The notes about type safety are available: PDF
- 9 Feb. 2005: Assignment 3 is posted. It is due 22 Feb.
- 1 Feb. 2005: I sincerely apologize but I have to cancel class on
Thursday 3 Feb. too. Bring your assigment Tuesday 8 instead.
- 31 Jan. 2005: You can bring your assignment on 3 Feb instead.
- 25 Jan. 2005: An extended version of the operational semantics for
**Imp** is posted in ImpS.hs. This version has
the implementation using both big-step and small-step formulations of the
operational semantics.
- 25 Jan. 2005: Assignment 2 is posted. It is due 1 Feb.
- 25 Jan. 2005: The code for today's lecture is in Imp.hs.
- 22 Jan. 2005: I posted my solution to the exercises in Haskell. A
couple of you have spotted that there was a mistake in my specification of
what
`disjointUnion`

is supposed to do.
- 15 Jan. 2005: Here are several monadic interpreters; the first two
were discussed in the lecture on 13 Jan; the remaining ones will be discussed
on 18 Jan.
- Source.hs: Syntactic categories of terms and
values; various examples
- Pure.hs: Monadic interpreter instantiated with
the identity monad
- Error.hs: Monadic interpreter instantiated with
the error monad
- Position.hs: Monadic interpreter
instantiated with the error monad, augmented with another monad to manage
error positions
- State.hs: Monadic interpreter instantiated with
the state monad to count the number of steps
- Output.hs: Monadic interpreter instantiated with
the output monad
- ND.hs: Monadic interpreter instantiated with
the list monad to allow non-deterministic computations
- Cont.hs: Monadic interpreter instantiated with
the continuation monad to support callcc

- 12 Jan. 2005: If you would like to change the meeting time and/or
location of lectures, please email me your preferences. We'll see what we can
do.
- 12 Jan. 2005: The newsgroup ac.csci.b522 is active.
- 9 Jan. 2005: Assignment 1 has been posted. It is due on 20 Jan.
- 22 Dec. 2004: Welcome to B522.

sabry ... cs indiana edu