added offsite_reading list
authorJim Pryor <profjim@jimpryor.net>
Tue, 24 Aug 2010 02:02:51 +0000 (22:02 -0400)
committerJim Pryor <profjim@jimpryor.net>
Tue, 24 Aug 2010 02:02:51 +0000 (22:02 -0400)
Signed-off-by: Jim Pryor <profjim@jimpryor.net>
index.mdwn
offsite_reading.mdwn [new file with mode: 0644]

index 4ad7f4b..73d2020 100644 (file)
@@ -171,6 +171,13 @@ superficial syntactic differences between these languages.
 
 ##[[Schedule of Topics]]##
 
+##[[Lecture Notes]]##
+
+##[[Offsite Reading]]##
+
+There's lots of links here already to tutorials and encyclopedia entries about many of the notions we'll be dealing with.
+
+
 ----
 
 All wikis are supposed to have a [[SandBox]], so this one does too.
diff --git a/offsite_reading.mdwn b/offsite_reading.mdwn
new file mode 100644 (file)
index 0000000..4994bca
--- /dev/null
@@ -0,0 +1,95 @@
+Many off these links are to Wikipedia. You can learn a lot from such articles,
+so long as you remember they may sometimes mislead or make mistakes. However, I
+hope at this point in your education you'll have learned to be a guarded reader
+even of authoritative treatises by eminent authors. So you shouldn't need any
+Wikipedia-specific warnings.
+
+## General issues about variables and binding in programming languages ##
+
+[[!wikipedia Variable (programming)]]
+[[!wikipedia Variable shadowing]]
+[[!wikipedia Scope (programming)]]
+[[!wikipedia Free variables and bound variables]]
+[[!wikipedia Name binding]]
+[[!wikipedia Name resolution]]
+[[!wikipedia Parameter (computer science)]]
+
+## Functions as values, etc ##
+
+[[!wikipedia Higher-order function]]
+[[!wikipedia First-class function]]
+[[!wikipedia Closure (computer science)]]
+[[!wikipedia Currying]]
+[[!wikipedia Recursion (computer science)]]
+
+## Functional vs imperative programming ##
+
+[[!wikipedia Declarative programming]]
+[[!wikipedia Functional programming]]
+[[!wikipedia Purely functional]]
+[[!wikipedia Referential transparency (computer science)]]
+[[!wikipedia Imperative programming]]
+
+## Scheme and OCaml ##
+
+[[!wikipedia Scheme (programming language)]]
+[[!wikipedia Objective Caml]]
+
+## Untyped lambda calculus and combinatory logic ##
+
+[[!wikipedia Lambda calculus]]
+
+[[!wikipedia Haskell Curry]]
+[[!wikipedia Moses Schönfinkel]]
+[[!wikipedia Alonzo Church]]
+
+[[!wikipedia Combinatory logic]]
+[[!wikipedia B,C,K,W system]]
+[[!wikipedia SKI combinatory calculus]]
+
+[[!wikipedia Church-Rosser theorem]]
+[[!wikipedia Normalization property]]
+[[!wikipedia Turing completeness]]
+
+[[!wikipedia Church encoding]]
+[[!wikipedia Y combinator]]
+
+[[!wikipedia Curry-Howard isomorphism]]
+
+[[!wikipedia Evaluation strategy]]
+[[!wikipedia Eager evaluation]]
+[[!wikipedia Lazy evaluation]]
+[[!wikipedia Strict programming language]]
+
+## Types ##
+
+[[!wikipedia Tagged union]]
+[[!wikipedia Algebraic data type]]
+[[!wikipedia Pattern matching]]
+[[!wikipedia Unit type]]
+[[!wikipedia Bottom type]]
+[[!wikipedia Typed lambda calculus]]
+[[!wikipedia Simply typed lambda calculus]]
+[[!wikipedia Type polymorphism]]
+[[!wikipedia System F]]
+
+[[!wikipedia Side effect (computer science)]]
+[[!wikipedia Reference (computer science)]]
+[[!wikipedia Pointer (computing)]]
+
+## Continuations ##
+
+[[!wikipedia Continuation]]
+[[!wikipedia Continuation-passing style]]
+[[!wikipedia Call-with-current-continuation]]
+[[!wikipedia Delimited continuation]]
+
+## Monads ##
+
+[[!wikipedia Monad (functional programming)]]
+
+## Linear Logic ##
+
+[[!wikipedia Linear logic]]
+
+