Type Qualifiers as Composable Language Extensions

Travis Carlson, Eric Van Wyk

Research output: Chapter in Book/Report/Conference proceedingConference contribution

4 Scopus citations

Abstract

This paper reformulates type qualifiers as language extensions that can be automatically and reliably composed. Type qualifiers annotate type expressions to introduce new subtyping relations and are powerful enough to detect many kinds of errors. Type qualifiers, as illustrated in our ableC extensible language framework for C, can introduce rich forms of concrete syntax, can generate dynamic checks on data when static checks are infeasible or not appropriate, and inject code that affects the program’s behavior, for example for conversions of data or logging. ableC language extensions to C are implemented as attribute grammar fragments and provide an expressive mechanism for type qualifier implementations to check for additional errors, e.g. dereferences to pointers not qualified by a “nonnull” qualifier, and report custom error messages. Our approach distinguishes language extension users from developers and provides modular analyses to developers to ensure that when users select a set of extensions to use, they will automatically compose to form a working compiler.

Original languageEnglish (US)
Title of host publicationGPCE 2017 - Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming
Subtitle of host publicationConcepts and Experiences, co-located with SPLASH 2017
EditorsMathew Flatt, Sebastian Erdweg
PublisherAssociation for Computing Machinery, Inc
Pages91-103
Number of pages13
ISBN (Electronic)9781450355247
DOIs
StatePublished - Oct 23 2017
Event16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2017 - Vancouver, Canada
Duration: Oct 23 2017Oct 24 2017

Publication series

NameGPCE 2017 - Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, co-located with SPLASH 2017

Other

Other16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2017
Country/TerritoryCanada
CityVancouver
Period10/23/1710/24/17

Bibliographical note

Funding Information:
This material is partially based upon work supported by the National Science Foundation (NSF) under Grant No. 1628929. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the NSF.

Publisher Copyright:
© 2017 Copyright held by the owner/author(s). Publication rights licensed to Association for Computing Machinery.

Keywords

  • Dimensional analysis
  • Extensible languages
  • Pluggable types
  • Type qualifiers
  • Type systems

Fingerprint

Dive into the research topics of 'Type Qualifiers as Composable Language Extensions'. Together they form a unique fingerprint.

Cite this