Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Student works
  4. A Study of Capability-Based Effect Systems
 
master thesis

A Study of Capability-Based Effect Systems

Liu, Fengyun  
2016

The problem of effect polymorphism is a major obstacle to wide adoption of effect systems in the programming community. The absence of effect systems reduces compiler optimization opportunities and disables effect constraints on APIs in parallel and distributed computations. This study shows that capability-based effect systems, equipped with stoic functions and free functions, can easily solve the problem of effect polymorphism without incurring notational burden on programmers. With this advantage, capability-based effect systems stand a better chance to be adopted by the programming community. The central idea of capability-based effect system is that a capability is required in order to produce side effects. If capabilities are passed as function parameters, by tracking capabilities in the type system we can track effects in the program. To ensure that capabilities are passed through function parameters, instead of being captured from the environment, we need to impose a variable-capturing discipline, stipulating that capa- bility variables cannot be captured. Functions observing the discipline are called stoic functions, while functions not observing the discipline are called free functions.

  • Files
  • Details
  • Metrics
Type
master thesis
Author(s)
Liu, Fengyun  
Advisors
Stucki, Sandro  
•
Amin, Nada  
Date Issued

2016

Subjects

effect systems

•

capabilities

•

type systems

Note

updated at 2017 Jan 16 of chapter F-Impure, as polymorphism over S => T and E are supported.

Written at

EPFL

EPFL units
LAMP1  
Available on Infoscience
July 12, 2016
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/127137
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés