This directory contains files related to the March exam of the course Advanced Functional Programming (7.5 hec), Spring 2014 TDA342 / DIT260 Patrik Jansson The exam questions are in AFP_exam_2014-03.pdf And the three solutions are in DSL.hs Types.hs Spec.hs with testing code in TestDSL.hs TestSpec.hs Learning outcomes of the course: DSL: design embedded domain specific languages DSL.Concepts: (abstract) syntax, semantics, ... DSL.Implement: implement EDSLs in Haskell (as combinator libraries) Types: read, understand and extend Haskell programs which use advanced type system features Types.Class: type classes, newtypes, deriving, ... Types.GADT: (generalised) algebraic datatypes & type families Types.HOT: functors, monads and monad transformers Spec: use specification based development techniques Spec.Test: formulate and test properties about the program Spec.Prove: reason about correctness of functional programs Spec.Trans: transform programs on the basis of reasoning Expl: explain and discuss the above topics