X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=offsite_reading.mdwn;h=0a660be07032010e6dfa02028e2076eead952aac;hp=92a3e6ed8a6992d135736858d199e12bcc500589;hb=HEAD;hpb=f3ec0cc686ff9160f0f63561ffb128c4cb3d13b6 diff --git a/offsite_reading.mdwn b/offsite_reading.mdwn deleted file mode 100644 index 92a3e6ed..00000000 --- a/offsite_reading.mdwn +++ /dev/null @@ -1,107 +0,0 @@ -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. - -For most readers, many bits of reading we point you to will be hairy in one way -or another. It may be aimed at audiences with more programming experience; it -may be aimed at audiences with specific logical background you don't yet have; -it may be aimed at audiences familiar with technical areas in linguistics you're -first encountering. Or perhaps several of these at once. We hope you will -already have mastered the skill of leveraged reading: getting what you can out -of an article you don't fully understand, so that you can discuss it with the rest of -the group and hopefully get to a point where you can read it again and -get more out of out. (Rinse and repeat.) - - -## 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 ## - -* [An Introduction to Lambda Calculus and Scheme](http://www.jetcafe.org/~jim/lambda.html) -- aimed at programmers -* [[!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]] -* [Combinatory logic](http://plato.stanford.edu/entries/logic-combinatory/) at the Stanford Encyclopedia of Philosophy -* [[!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]] -* [Type Theory](http://plato.stanford.edu/entries/type-theory/) at the Stanford Encyclopedia of Philosophy -* [Church's Type Theory](http://plato.stanford.edu/entries/type-theory-church/) at the Stanford Encyclopedia of Philosophy -* [[!wikipedia Type polymorphism]] -* [[!wikipedia System F]] - -## Side-effects / mutation ## - -* [[!wikipedia Side effect (computer science)]] -* [[!wikipedia Reference (computer science)]] -* [[!wikipedia Pointer (computing)]] - -## Continuations ## - -* [[!wikipedia Continuation]] -* [[!wikipedia Continuation-passing style]] -* [[!wikipedia Call-with-current-continuation]] -* [Intro to call/cc at SchemeWiki](http://community.schemewiki.org/?call-with-current-continuation) -* [[!wikipedia Delimited continuation]] -* [Delimited/composable continuations tutorial at SchemeWiki](composable-continuations-tutorial) - -## Monads ## - -* [[!wikipedia Monad (functional programming)]] - -## Linear Logic ## - -* [[!wikipedia Linear logic]] -