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. Conferences, Workshops, Symposiums, and Seminars
  4. Semantics-preserving inlining for metaprogramming
 
conference paper

Semantics-preserving inlining for metaprogramming

Stucki, Nicolas  
•
Biboudis, Aggelos  
•
Doeraene, Sébastien  
Show more
November 13, 2020
SCALA 2020: Proceedings of the 11th ACM SIGPLAN International Symposium on Scala
SPLASH '20: Conference on Systems, Programming, Languages, and Applications, Software for Humanity

Inlining is used in many different ways in programming languages: some languages use it as a compiler-directive solely for optimization, some use it as a metaprogramming feature, and others lay their design in-between. This paper presents inlining through the lens of metaprogramming and we describe a powerful set of metaprogramming constructs that help programmers to unfold domain-specific decisions at compile-time. In a multi-paradigm language like Scala, the concern for generality of inlining poses several interesting questions and the challenge we tackle is to offer inlining without changing the model seen by the programmer. In this paper, we explore these questions by explaining the rationale behind the design of Scala-3’s inlining capability and how it relates to its metaprogramming architecture.

  • Files
  • Details
  • Metrics
Type
conference paper
DOI
10.1145/3426426.3428486
Author(s)
Stucki, Nicolas  
Biboudis, Aggelos  
Doeraene, Sébastien  
Odersky, Martin  
Date Issued

2020-11-13

Published in
SCALA 2020: Proceedings of the 11th ACM SIGPLAN International Symposium on Scala
ISBN of the book

978-1-450381-77-2

Total of pages

11

Start page

14

End page

24

Subjects

Inlining

•

OO

•

Metaprogramming

•

Macros

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LAMP1  
Event nameEvent placeEvent date
SPLASH '20: Conference on Systems, Programming, Languages, and Applications, Software for Humanity

Virtual

November 13, 2020

Available on Infoscience
July 16, 2021
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/179918
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