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. Reports, Documentation, and Standards
  4. Dotty Phantom Types
 
report

Dotty Phantom Types

Stucki, Nicolas Alexander  
•
Biboudis, Aggelos  
•
Odersky, Martin  
July 21, 2017

Phantom types are a well-known type-level, design pattern which is commonly used to express constraints encoded in types. We observe that in modern, multi-paradigm programming languages, these encodings are too restrictive or do not provide the guarantees that phantom types try to enforce. Furthermore, in some cases they introduce unwanted runtime overhead. We propose a new design for phantom types as a language feature that: (a) solves the aforementioned issues and (b) makes the first step towards new programming paradigms such as proof-carrying code and static capabilities. This paper presents the design of phantom types for Scala, as implemented in the Dotty compiler.

  • Files
  • Details
  • Metrics
Type
report
Author(s)
Stucki, Nicolas Alexander  
Biboudis, Aggelos  
Odersky, Martin  
Date Issued

2017-07-21

Total of pages

5

Editorial or Peer reviewed

NON-REVIEWED

Written at

EPFL

EPFL units
LAMP1  
Available on Infoscience
January 10, 2020
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/164514
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