• 7pm: A Pragmatic Case for Static Typing
• 8pm: Domain Specific Languages and Towers of Abstraction
7pm: A Pragmatic Case for Static Typing
This beginners-friendly talk will explain some of the reasons why Haskell programmers are so enthusiastic about static typing: it helps produce working code sooner. It will consider problems programmers face in producing working code (in any language), and show how Haskell mitigates or solves them. No knowledge of Haskell is assumed.
Subjects touched on will include:
- Preventing null pointer exceptions
- Speeding up finding and fixing bugs
- Problems with large scale development
- "Don't do that!" doesn't work- what does?
- Types as documentation
- Types and parallel programming
- Types vs. Macros: more than one way to skin a cat
8pm: Domain Specific Languages and Towers of Abstraction
This talk will sketch some connections at the foundations of semantics (of programming languages, logics, formal systems in general). In various degrees of abbreviation, we will present Galois Connections, Lawvere Theories, adjoint functors and their relationship to syntax and semantics, and the core notion behind abstract interpretation. At each step we'll draw connections, trying to show why these are good tools to think with even as we're solving real world problems and building tools and libraries others will find simple and elegant to use.