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. Yin-yang: concealing the deep embedding of DSLs
 
conference paper

Yin-yang: concealing the deep embedding of DSLs

Jovanovic, Vojin  
•
Shaikhha, Amir  
•
Stucki, Sandro  
Show more
2014
Acm Sigplan Notices
International Conference on Generative Programming: Concepts and Experiences - GPCE 2014

Deeply embedded domain-specific languages (EDSLs) intrinsically compromise programmer experience for improved program performance. Shallow EDSLs complement them by trading program performance for good programmer experience. We present Yin-Yang, a framework for DSL embedding that uses Scala macros to reliably translate shallow EDSL programs to the corresponding deep EDSL programs. The translation allows program prototyping and development in the user friendly shallow embedding, while the corresponding deep embedding is used where performance is important. The reliability of the translation completely conceals the deep em- bedding from the user. For the DSL author, Yin-Yang automatically generates the deep DSL embeddings from their shallow counterparts by reusing the core translation. This obviates the need for code duplication and leads to reliability by construction.

  • Files
  • Details
  • Metrics
Type
conference paper
DOI
10.1145/2658761.2658771
Author(s)
Jovanovic, Vojin  
Shaikhha, Amir  
Stucki, Sandro  
Nikolaev, Vladimir
Koch, Christoph  
Odersky, Martin  
Date Issued

2014

Publisher

ACM Press

Publisher place

New York, New York, USA

Published in
Acm Sigplan Notices
Volume

50

Issue

3

Start page

73

End page

82

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LAMP1  
DATA  
Event nameEvent placeEvent date
International Conference on Generative Programming: Concepts and Experiences - GPCE 2014

Västerås, Sweden

15-16 09 2014

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