Functional Programming with Type Classes in Scala

Name
Hele-Andra Kuulmets
Abstract
Scala is a multi-paradigm programming language running on a Java
virtual machine which allows to combine object-oriented and functional techniques. The disadvantage of Scala as a functional programming language is that its standard library is missing some useful abstractions – type classes which can be used to describe common properties of different types without the need to inherit them from the same superclass. To eliminate that disadvantage, a library named Cats containing those abstractions was created. The aim of this thesis is to research that library – study the implementations of five type classes that are already known from Haskell and describe the kind of problems they help to solve in Scala.
The written part of this thesis provides an introduction to functional programming with type classes in Scala. In addition, practical exercises and an example program were written to complement the written part.
Graduation Thesis language
Estonian
Graduation Thesis type
Bachelor - Computer Science
Supervisor(s)
Vesal Vojdani
Defence year
2017
 
PDF