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. Journal articles
  4. Capturing Types
 
research article

Capturing Types

Boruch-Gruszecki, Aleksander Slawomir  
•
Odersky, Martin  
•
Lee, Edward
Show more
December 1, 2023
Acm Transactions On Programming Languages And Systems

Type systems usually characterize the shape of values but not their free variables. However, many desirable safety properties could be guaranteed if one knew the free variables captured by values. We describe CC<:square, a calculus where such captured variables are succinctly represented in types, and show it can be used to safely implement effects and effect polymorphism via scoped capabilities. We discuss how the decision to track captured variables guides key aspects of the calculus, and show that CC<:square admits simple and intuitive types for common data structures and their typical usage patterns. We demonstrate how these ideas can be used to guide the implementation of capture checking in a practical programming language.

  • Details
  • Metrics
Type
research article
DOI
10.1145/3618003
Web of Science ID

WOS:001167368600002

Author(s)
Boruch-Gruszecki, Aleksander Slawomir  
Odersky, Martin  
Lee, Edward
Lhotak, Ondrej
Brachthaeuser, Jonathan
Date Issued

2023-12-01

Publisher

Assoc Computing Machinery

Published in
Acm Transactions On Programming Languages And Systems
Volume

45

Issue

4

Start page

21

Subjects

Technology

•

Scala

•

Type Systems

•

Effects

•

Resources

•

Capabilities

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LAMP1  
FunderGrant Number

Natural Sciences and Engineering Research Council of Canada

Available on Infoscience
March 18, 2024
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/206492
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