Proving Type Class Laws in Haskell

Examensarbete för masterexamen

Please use this identifier to cite or link to this item: https://hdl.handle.net/20.500.12380/238929
Download file(s):
File Description SizeFormat 
238929.pdfFulltext658.06 kBAdobe PDFView/Open
Type: Examensarbete för masterexamen
Master Thesis
Title: Proving Type Class Laws in Haskell
Authors: Arvidsson, Andreas
Touche, Robin
Abstract: Type classes in Haskell are a way to ensure both the programmer and the compiler that a set of functions are defined for a specific data type. Each instance of such functions is often expected to behave in a certain way and satisfy laws associated with the respective class. These are commonly stated in comments and as such there is no real way to enforce this behavior other than by rigorous testing. This thesis presents a tool able to prove such laws using induction and external theorem provers. The tool is an extension of an already existing system, HipSpec, with the added functionality of being able to handle type classes. Using this extended HipSpec, users can automatically prove laws for instances of built-in type classes, as well as de ne and prove laws for their own type classes. We discover that this is a very promising approach which has several advantages over similar systems.
Keywords: Data- och informationsvetenskap;Informations- och kommunikationsteknik;Computer and Information Science;Information & Communication Technology
Issue Date: 2016
Publisher: Chalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers)
Chalmers University of Technology / Department of Computer Science and Engineering (Chalmers)
URI: https://hdl.handle.net/20.500.12380/238929
Collection:Examensarbeten för masterexamen // Master Theses



Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.