Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Gradually typed symbolic expressions
KTH, School of Electrical Engineering and Computer Science (EECS), Software and Computer systems, SCS.ORCID iD: 0000-0001-8457-4105
United States.
2017 (English)In: PEPM 2018 - Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, Co-located with POPL 2018, Association for Computing Machinery (ACM), 2017, p. 15-29Conference paper, Published paper (Refereed)
Abstract [en]

Embedding a domain-specific language (DSL) in a general purpose host language is an efficient way to develop a new DSL. Various kinds of languages and paradigms can be used as host languages, including object-oriented, functional, statically typed, and dynamically typed variants, all having their pros and cons. For deep embedding, statically typed languages enable early checking and potentially good DSL error messages, instead of reporting runtime errors. Dynamically typed languages, on the other hand, enable flexible transformations, thus avoiding extensive boilerplate code. In this paper, we introduce the concept of gradually typed symbolic expressions that mix static and dynamic typing for symbolic data. The key idea is to combine the strengths of dynamic and static typing in the context of deep embedding of DSLs. We define a gradually typed calculus <*>, formalize its type system and dynamic semantics, and prove type safety. We introduce a host language called Modelyze that is based on <*>, and evaluate the approach by embedding a series of equation-based domain-specific modeling languages, all within the domain of physical modeling and simulation.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2017. p. 15-29
Keywords [en]
DSL, Symbolic expressions, Type systems, Calculations, Computer aided software engineering, Digital subscriber lines, Embedded systems, Problem oriented languages, Semantics, Specification languages, Domain specific language (DSL), Domain specific modeling languages, Dynamic semantic, Dynamically typed languages, Object oriented, Run-time errors, Symbolic expression, Modeling languages
National Category
Embedded Systems
Identifiers
URN: urn:nbn:se:kth:diva-236452DOI: 10.1145/3162068ISI: 000467285800003Scopus ID: 2-s2.0-85050879640ISBN: 9781450355872 (print)OAI: oai:DiVA.org:kth-236452DiVA, id: diva2:1257186
Conference
2018 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2018, 8 January 2018 through 9 January 2018
Funder
Swedish Foundation for Strategic Research , FFL15-0032Swedish Research Council, #623-2011-955
Note

QC 20181020

Available from: 2018-10-19 Created: 2018-10-19 Last updated: 2019-05-29Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopusconference

Authority records BETA

Broman, David

Search in DiVA

By author/editor
Broman, David
By organisation
Software and Computer systems, SCS
Embedded Systems

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 241 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf