View Proposal


Proposer
Filip Sieczkowski
Title
Parsing with Algebraic Effects and Handlers
Goal
To investigate the usefulness and impact of programming with algebraic effects on common approaches to parsing
Description
Algebraic effects and their handlers are a modern approach to structuring computational effects of programs, including interaction with outside world, but also effects internal to the program. In addition to various libraries that provide the programmer with an ability to use algebraic effects, several experimental programming languages, including Helium (https://bitbucket.org/pl-uwr/helium/src/master/), Frank (https://github.com/frank-lang), Koka (https://koka-lang.github.io/koka/doc/book.html), etc. have been recently developed. These can be used as a means to study the impact of the new programming idiom on software development. This project aims to study the impact of programming with algebraic languages on parsing technology. It would require the student to a) investigate the programming idiom to be used, b) investigate parsing techniques, and decide on a family of techniques suited to implementation using algebraic effects, c) build a tool/library for a chosen language that uses algebraic effects to provide support for parsing. The prerequisites for this project include background in functional programming and strong interest in cutting-edge language technology in this area, as well as a background in language technology that would allow the student to efficiently review and adapt approaches to parsing (around the level given by the Language Processors course). Understanding of formal semantics of programming languages is not strictly necessary, but even limited exposure may be helpful in understanding the research papers that will need to be studied.
Resources
Background
Url
Difficulty Level
Challenging
Ethical Approval
None
Number Of Students
1
Supervisor
Filip Sieczkowski
Keywords
Degrees