4 ms·
This isn't quite about OCaml or Haskell, but might be relevant. I've been looking around for a good way to learn type theory via self-study, and my current pla
by jcurbo 13y ago
This isn't quite about OCaml or Haskell, but might be relevant.
I've been looking around for a good way to learn type theory via self-study, and my current plan is to go through these courses on my own:
1) http://www.cs.cmu.edu/~rwh/courses/typesys/ http://www.cs.cmu.edu/~rwh/courses/typesys/
2) http://ttic.uchicago.edu/~pl/classes/CMSC336-Winter08/ http://ttic.uchicago.edu/~pl/classes/CMSC336-Winter08/
1 uses Robert Harper's Practical Foundations for Programming Languages (and was taught by him) and 2 uses PFPL plus Benjamin Pierce's Types and Programming Languages. Both courses have lecture notes and readings for each session as well as homework assignments with solutions which ought to make them straightforward to go through on your own.
There's also these Type/Category/Proof Theory Foundations videos (with Robert Harper as well): https://www.youtube.com/playlist?list=PL8Ky8lYL8-Oh7awp0sqa82o7Ggt4AGhyf https://www.youtube.com/playlist?list=PL8Ky8lYL8-Oh7awp0sqa8...
I found these by doing some Googling and evaluating various forums/Stack Exchange posts; if anyone has any better suggestions I would love to hear them. (I haven't done SICP in depth and now, of course, I'm considering putting this plan on hold and doing SICP instead...)
- jnbiche 13y agoThanks for the links -- wish I could take those courses in person. I haven't found anything like SICP (thus my question), but I feel compelled to mention two great practical repos I discovered yesterday thanks to HN, both of which are teaching me a lot about practical type systems: 1. https://github.com/tomprimozic/type-systems https://github.com/tomprimozic/type-systems (great practical intro to Hindley-Milner and variations) 2. https://github.com/typeclassy/plzoo https://github.com/typeclassy/plzoo (collection of mini languages implemented in OCaml, many of which feature different type systems) Edit: Can't reply to jcurbo yet, but I'd be really interested in that Haskell link if you can remember it.
- jcurbo 13y agoThanks, those are good links too. I seem to recall seeing something similar to the first link, except in Haskell, but I can't seem to find it right now.