Lollipop - A general purpose, functional programming language with linear types

dc.contributor.authorHübinette, Edvard
dc.contributor.authorAndersson, Johan
dc.contributor.authorJohansson, Jonathan
dc.contributor.authorKlevedal, Marie
dc.contributor.authorMalmqvist, Mikael
dc.contributor.departmentChalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers)sv
dc.contributor.departmentChalmers University of Technology / Department of Computer Science and Engineering (Chalmers)en
dc.date.accessioned2019-07-03T14:23:31Z
dc.date.available2019-07-03T14:23:31Z
dc.date.issued2016
dc.description.abstractThis project designs and implements a general-purpose functional programming language with linear types, called Lollipop. The purpose is to investigate how linear types can be a part of modern programming languages. The language should also act as a pedagogical platform for developers to get acquainted with the concept, because linear types are not implemented in any mainstream language on the market. The focus is not to deliver a well-polished product ready for deployment, but rather to evaluate the development process of linear types in a functional language with its complications. The language should, however, have a rigorous type system and have the basic functionality of a functional language, as well as the addition of linear type variables and basic user interaction. The compiler front end of the language was developed using BNFC while the interpreter, inner abstract syntax tree, conversion from surface syntax, type inferencing and other extensions were written in Haskell. The project was done using agile development cycles and milestones and resulted in a working proof-of-concept having the planned usability, albeit with some blemishes. Lollipop can be used as a base for further development as well as a tool for learning the basics of linear types for the common developer.
dc.identifier.urihttps://hdl.handle.net/20.500.12380/245123
dc.language.isoeng
dc.setspec.uppsokTechnology
dc.subjectInformations- och kommunikationsteknik
dc.subjectData- och informationsvetenskap
dc.subjectInformation & Communication Technology
dc.subjectComputer and Information Science
dc.titleLollipop - A general purpose, functional programming language with linear types
dc.type.degreeExamensarbete för kandidatexamensv
dc.type.degreeBachelor Thesisen
dc.type.uppsokM2
local.programmeSoftware Engineering (300 hp)
Ladda ner
Original bundle
Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
245123.pdf
Storlek:
719.65 KB
Format:
Adobe Portable Document Format
Beskrivning:
Fulltext