Commit 6f1bd957 authored by Nicolas Lenz's avatar Nicolas Lenz

Bachelor Thesis article

parent d68771b9
Pipeline #706 passed with stage
in 16 seconds
title: My Bachelor Thesis
date: 2020-07-23
tags: [Personal, Computer Science, Programming Lanuguages, Haskell, Functional Programming, Type Theory, Dependent Types, Lambda Calculus, Algebraic Modeling]
link: /res/thumb/bachelor.png
alt: A fractal snowflake from the title page of my bachelor thesis.
abstract: I recently turned in my bachelor thesis. I don't have the results yet, but still, that's a lot of pressure gone now. I hope that I'll be able to use the free time until my first master semester starts to get some of my personal projects done.
![The snowflake from the title page of my bachelor thesis. It is generated using a lindenmayer system fractal, which is a context-free grammar. That somewhat fits the topic, but it's mostly pretty and I like both snowflakes and fractals. [^snowflake]](/res/article/bachelor.png)
The thesis is titled "Design and Algebraic Implementation of a Functional Programming Language". I introduce a theoretical foundation mainly consisting of lambda calculus and algebraic modeling and design and implement (in Haskell) a small programming language, called *Lightfold*. Lightfold is purely functional and has a dependent type system, which allows for safer programs because types are computable and can depend on values. I might write blog articles about some of the topics covered in the future if I get around to it.
I plan to extend Lightfold in my free time in the future, maybe even into a fully usable general-purpose language in the long-term. I have collected a lot of ideas that could be incorporated into a programming language while writing and look forward to trying that out (after getting some rest from the topic ☺️).
As I'm a firm believer in free and open source software and in open-access science, both the thesis and the implementation of Lightfold are freely available, usable and adaptable under open licenses (not that I anticipate a lot of interest in that availability 😀).
[View PDF]({.button .high} [Document Source]({.button .low} [Lightfold Source]({.button .high}
If you have any ideas, comments or questions head on over to the respective source repositories or [contact me directly](/about.html).
[^snowflake]: See the code and more pretty snowflakes at the [repo](
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment