Dependent Types: Level Up Your Types

Syfrig, Marco (2017) Dependent Types: Level Up Your Types. Masters thesis, HSR Hochschule für Technik Rapperswil.

[thumbnail of MarcoSyfrigDependentTypes_eprints.pdf]
MarcoSyfrigDependentTypes_eprints.pdf - Supplemental Material

Download (163kB) | Preview


Dependent types make types into first-class language constructs and ensure type safety depending on values and not only types. They help to get rid of all unit tests because dependent types require a proof that a function behaves as expected. This proof needs to be written by the developer himself and verifies that the function works correctly for all possible inputs. So a type, in the end, is a proof for the compiler and no unit tests are needed. Type checking may become undecidable since these types can depend on any value or expression.
This paper gives an overview what problem dependent types solve, kinding, dependent type theory and then a fairly big part about the differences to other systems. It then shows some current ongoing research and finally explains why dependent types may play a bigger role in the far future.

Item Type: Thesis (Masters)
Subjects: Topics > Software > Performance
Topics > Software > Testing and Simulation > Unit-Testing
Technologies > Programming Languages
Divisions: Master of Science in Engineering (MRU Software and Systems)
Depositing User: Christian Spielmann
Thesis advisor
Mehta, Farhad D.
Date Deposited: 10 Apr 2017 11:05
Last Modified: 02 Nov 2017 08:58

Actions (login required)

View Item
View Item