6b4c55fb02f3f7bc94e308c167babd1b09617f20
[lambda.git] / content.mdwn
1 # Topics #
2
3 These topics are organized in two ways: by their content, and by the
4 week in which they were introduced.
5
6 ## Topics by content ##
7
8 * [[Basics of functional programming|topics/week1]]
9
10 * [[Order: static versus dynamic|topics/week1 order]]
11
12 ## Topics by week ##
13
14 Week 1: 
15
16 * [[Order in programming languages and natural language|topics/order]]
17 This discussion considers conjunction in a language that recognized presupposition failure.
18 * [[Introduction to functional programming|topics/week1]]
19 Basics of functional programming: `let`, `case`, pattern matching, and
20 recursion.  Definitions of factorial.
21 * [[Homework for week 1|exercises/assignment1]]
22 * [[Advanced notes|week1 advanced notes]] 
23
24 *More coming, please wait...*
25
26 <!--
27 Once we get up and running, the central focii of the course will be
28 **continuations**, **types**, and **monads**. One of the on-going themes will
29 concern evaluation order and issues about how computations (inferences,
30 derivations) unfold in (for instance) time.  The key analytic technique is to
31 form a static, order-independent model of a dynamic process. We'll be
32 discussing this in much more detail as the course proceeds.
33
34 The logical systems we'll be looking at include:
35
36 *       the "pure"/untyped lambda calculus
37 *       combinatorial logic
38 *       the simply-typed lambda calculus
39 *       polymorphic types with System F
40 *       some discussion of dependent types
41 *       if time permits, "indeterministic" or "preemptively parallel" computation and linear logic
42
43
44 Other keywords:
45         recursion using the Y-combinator
46         evaluation-order stratgies
47         normalizing properties
48         the Curry-Howard isomorphism(s)
49         monads in category theory and computation
50 -->