Object capability system for Scala

Thumbnail

Event details

Date 16.07.2019
Hour 14:0016:00
Speaker Aleksander Boruch-Gruszecki
Location
Category Conferences - Seminars
EDIC candidacy exam
Exam president: Prof. Mathias Payer
Thesis advisor: Prof. Martin Odersky
Co-examiner: Prof. Viktor Kuncak

Abstract
The idea of tracking effects in the type system has been
steadily gaining popularity in the programming language
community. Being able to track what side effects definitions
are able to perform allows enforcing cleaner and more
organized program architecture, which leads to better
understandability and smaller maintenance costs.
In particular, the idea of tracking effects through monads
has gained some foothold in the industry. While
undoubtedly effective at preventing unintended side effects,
monads are also infamously difficult to explain to average
programmers, make it impossible to use typical flow control
structures and do not compose easily.
Algebraic effects are a promising direction of study that
not only fixes all the above problems, but provides benefits
of its own. In this proposal, we study three papers and
discuss how their ideas can be unified into a pragmatic,
powerful and intuitive effect system for Scala.

Background papers
Koka: Programming with Row Polymorphic Effect Types, by Leijen D.
Do Be Do Be Do, by Sam, L., McBride, C., McLaughlin, C.
A Capability-Based Module System for Authority Control, by  Melicher, D., et al.
 

Practical information

  • General public
  • Free

Tags

EDIC candidacy exam

Share