ICE-TCS: Functional programming & types
An introduction to functional programming (e. fallaforritun) with an emphasis on Haskell
Date/Time: Friday, 10 February 2017, from 12:15 till about 13:00
Location: M1.13 - Reykjavík University
Speaker: Baldur Blöndal (Chalmers University of Technology & the Reykjavík Functional Programming group)
Title: Functional programming & types
An introduction to functional programming (e. fallaforritun) with an emphasis on Haskell (a cutting-edge functional programming language).
Haskell is a concise, well-designed language that compiles to a tiny intermediate language (e. millimál) with strong foundations in mathematics and logic.
The first part of the talk details how to structure code in Haskell using functions, how effects are religiously separated from pure (mathematical) functions and how that benefits testing, development, concurrency (e. samskeiðun) and parallelism (e. samhliðavinnslu).
The latter half examines Haskell's powerful type system (e. tagkerfi). We will cover abstractions originating from an abstract field of mathematics called category theory (e. ríkjafræði) and how their types guide the compiler to write correct code for you.
The types also restrict and guide the process of programming while forbidding ill-behaving programs (adding wrong units of measurement, indexing out of range, use mutation without side-effects, ...) allowing easier reasoning about the code.