Matthias Felleisen (författare till bl.a. “How to Design Programs - An Introduction to Computing and Programming”, “On the Expressive Power of Programming Languages” och “The Design and Implementation of Typed Scheme” - se Intressanta “papers”) har ett intressant uttalande om vad en working programmer behöver ha ett hum om:

A working programmer should have seen:

  • syntax
  • reductions (eval is a function via Church Rosser)
  • scope vs de Bruijn indices
  • beta vs beta-value, normal form [relevant in math] vs value [relevant in cs]
  • basic denotational semantics (typed PCF suffices)
  • typed lc plus type system, SNF
  • extended with some amount of fancy type system stuff (say explicit polymorphism)

That’s approx 10 weeks worth of course material. Or 2 weeks of self-study with a one-hour lunch break.

En bra sammanfattning att utgå ifrån om någon av punkterna känns helt främmande. För egen del skall jag genast ägna lite tid åt vad som menas med denotational semantics.