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. A TASTY Alternative
 
report

A TASTY Alternative

Odersky, Martin  
•
Burmako, Eugene  
•
Petrashko, Dmytro  
2016

This document proposes a new serialization format for typed syntax trees of Scala programs. It aims to be ● compact: All numbers and references are length encoded, trees are inlined by default but may be shared. ● lazy: Trees can be explored from the top, and one can suspend reading subtrees at any time. The only section that needs to be scanned in full is the name table. Laziness is important for the compiler frontend as most of the information in a TASTY file is not needed then. ● extensible: New sections can be defined at will. Additional elements always carry their length, so can be safely skipped in older readers. ● precise: The format given here is in essence a serialized abstract syntax tree for typed Scala. Some of the main classifications,e.g. between types, terms and paths are reflected in the grammar. Picklers and unpicklers for the format have been implemented in https://github.com/lampepfl/dotty/pull/394. The present document gives a syntax summary of the format. More explanations are found in the TASTY reference manual.

  • Files
  • Details
  • Metrics
Type
report
Author(s)
Odersky, Martin  
Burmako, Eugene  
Petrashko, Dmytro  
Date Issued

2016

URL

URL

https://docs.google.com/document/d/1Wp86JKpRxyWTqUU39H40ZdXOlacTNs20aTj7anZLQDw/view
Written at

EPFL

EPFL units
LAMP1  
Available on Infoscience
March 2, 2017
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/134933
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