X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?a=blobdiff_plain;f=index.mdwn;h=53c7b588622769446f123579538baae5a9c4d5a0;hb=3c3f15e8c5589af6e6ed81c2547762e1d879613c;hp=e5431d7e5f9e6567e51857a951c35b1d42115635;hpb=41fc6988f4884de2c9fe4655be38730ffc882c19;p=lambda.git diff --git a/index.mdwn b/index.mdwn index e5431d7e..53c7b588 100644 --- a/index.mdwn +++ b/index.mdwn @@ -1,28 +1,118 @@ -Welcome to your new wiki. +Philosophy COURSENUMBER and Linguistics COURSENUMBER +SHORT COURSE TITLE? -All wikis are supposed to have a [[SandBox]], so this one does too. +or: **What Philosophers and Linguists Can Learn From Theoretical Computer Science But Didn't Know To Ask** -Sample content. +## Announcements ## -More content added by git. +The course meets starting on XXX, at ZZZ, in room YYY. -CB:Here's some content added by me using git. -Enabled "lockedit" plugin: testing that admins can still edit pages. +## Overview ## -CB: content added by editing the wiki page using a browser. +The goal of this seminar is to introduce concepts and techniques from +theoretical computer science and show how they can provide insight +into established philosophical and linguistic problems. + +This is not a seminar about any particular technology or software. +Rather, it's about a variety of conceptual/logical ideas that have been +developed in computer science and that linguists and philosophers ought to +know, or may already be unknowingly trying to reinvent. + +Philosphers and linguists tend to reuse the same familiar tools in +ever more (sometime spectacularly) creative ways. But when your only +hammer is classical logic, every problem looks like modus ponens. In +contrast, computer scientists have invested considerable ingenuity in +studying tool design, and have made remarkable progress. + +"Why shouldn't I reinvent some idea X for myself? It's intellectually +rewarding!" Yes it is, but it also takes time you might have better +spent elsewhere. After all, you can get anywhere you want to go by walking, but you can +accomplish more with a combination of walking and strategic subway +rides. + +More importantly, the idiosyncrasies of your particular +implementation may obscure what's fundamental to the idea you're +working with. Your implementation may be buggy in corner cases you +didn't think of; it may be incomplete and not trivial to generalize; its +connection to existing literature and neighboring issues may go +unnoticed. For all these reasons you're better off understanding the +state of the art. + +The theoretical tools we'll be introducing aren't very familiar to +everyday programmers, but they are prominent in academic computer science, +especially in the fields of functional programming and type theory. + +Of necessity, this course will lay a lot of logical groundwork. But throughout +we'll be aiming to mix that groundwork with real cases +in our home subjects where these tools play central roles. Our aim for the +course is to enable you to make these tools your own; to have enough +understanding of them to recognize them in use, use them yourself at least +in simple ways, and to be able to read more about them when appropriate. + +Once we get up and running, the central focii of the course will be +**continuations**, **types**, and **monads**. One of the on-going themes will +concern evaluation order and issues about how computations (inferences, +derivations) unfold in (for instance) time. The key analytic technique is to +form a static, order-independent model of a dynamic process. We'll be +discussing this in much more detail as the course proceeds. + +The logical systems we'll be looking at include: + +* the pure/untyped lambda calculus +* combinatorial logic +* the simply-typed lambda calculus +* polymorphic types with System F +* some discussion of dependent types +* if time permits, "indeterministic" or "preemptively parallel" computation and linear logic ----- -Some programming resources: + + +## Who Can Participate? ## -Books: +The course will not presume previous experience with programming. We +will, however, discuss concepts embodied in specific programming +languages, and we will encourage experimentation with running, +modifying, and writing computer programs. - *The little schemer*, by Daniel P. Friedman and Matthias Felleisen, currently $23 on [Amazon] -(http://www.amazon.com/exec/obidos/ASIN/0262560992/ref=pd_sim_books/103-5471398-9229403#reader_0262560992). +The course will not presume lots of mathematical or logical background, either. +However, it will demand a certain amount of comfort working with such material. +And it wouldn't be especially well-suited to be a first graduate-level course +in formal semantics or philosophy of language. If you have concerns about your +background, come discuss them with us. + +It hasn't yet been decided whether this course counts for satisfying the logic requirement for +Philosophy PhD students. + +Faculty and students from outside of NYU Linguistics and Philosophy are wlecome +to audit, to the extent that this coheres well with the needs of our local +students. + + +## Recommended Readings and Software ## + + *The Little Schemer, Fourth Edition*, by Daniel P. Friedman and Matthias Felleisen, currently $23 on [Amazon](http://www.amazon.com/exec/obidos/ASIN/0262560992/ref=pd_sim_books/103-5471398-9229403#reader_0262560992). This is a classic text introducing the gentle art of programming, using the functional programming language Scheme. -**Of particular interest for this course** is the explanation of the Y combinator, avaialble as a free sample chapter +Many people love this book, but it has an unusual dialog format that is not to everybody's taste. +**Of particular interest for this course** is the explanation of the Y combinator, available as a free sample chapter [at the MIT Press web page for the book](http://www.ccs.neu.edu/home/matthias/BTLS/). + [[How to get the programming languages running on your computer]] + +## Schedule of Topics ## + +To be added. + +---- + +All wikis are supposed to have a [[SandBox]], so this one does too. This wiki is powered by [[ikiwiki]].