Matches in SemOpenAlex for { <https://semopenalex.org/work/W3100560475> ?p ?o ?g. }
Showing items 1 to 63 of
63
with 100 items per page.
- W3100560475 startingPage "15" @default.
- W3100560475 abstract "Large software systems are and should be implemented with many different languages, each suited to the domain of the task at hand. High-level business logic may be written in Java or OCaml, resource-intensive components may be written in C or Rust, and high-assurance components may be written in Coq. In some development shops, domain-specific languages are used in various parts of systems to better separate the logic of particular problems from the plumbing of general-purpose programming. But how are programmers to reason about such multi-language systems?Currently, for a programmer to reason about a single source component within this multi-language system, it is not sufficient for her to consider how her component behaves in source-level contexts. Instead, she is required to understand the target contexts that her component will be run in after compilation - which requires not only understanding aspects of the compiler, but also how target components are linked together. These target contexts may have behavior inexpressible in the source, which can impact the notion of equivalence that justifies behavior-preserving modifications of code, whether programmer refactorings or compiler optimizations. But while programmers should not have to reason about arbitrary target contexts, sometimes multi-language linking is done exactly to gain access to features unavailable in the source.To enable programmers to reason about components that link with behavior inexpressible in their language, we advocate that language designers incorporate specifications for linking into the source language. Such specifications should allowa programmer to reason about inputs from other languages in a way that remains close to the semantics of her language. Linking types are a well-specified minimal extension of a source language that allow programmers to annotate where in their programs they can link with components that are not expressible in their unadulterated source language. This gives them fine-grained control over the contexts that they must reason about and the equivalences that arise." @default.
- W3100560475 created "2020-11-23" @default.
- W3100560475 creator A5052461021 @default.
- W3100560475 creator A5074859969 @default.
- W3100560475 date "2017-01-01" @default.
- W3100560475 modified "2023-09-26" @default.
- W3100560475 title "Linking Types for Multi-Language Software: Have Your Cake and Eat It Too" @default.
- W3100560475 hasPublicationYear "2017" @default.
- W3100560475 type Work @default.
- W3100560475 sameAs 3100560475 @default.
- W3100560475 citedByCount "1" @default.
- W3100560475 countsByYear W31005604752021 @default.
- W3100560475 crossrefType "journal-article" @default.
- W3100560475 hasAuthorship W3100560475A5052461021 @default.
- W3100560475 hasAuthorship W3100560475A5074859969 @default.
- W3100560475 hasConcept C115903868 @default.
- W3100560475 hasConcept C121332964 @default.
- W3100560475 hasConcept C135257023 @default.
- W3100560475 hasConcept C168167062 @default.
- W3100560475 hasConcept C169590947 @default.
- W3100560475 hasConcept C199360897 @default.
- W3100560475 hasConcept C2778514511 @default.
- W3100560475 hasConcept C41008148 @default.
- W3100560475 hasConcept C43126263 @default.
- W3100560475 hasConcept C97355855 @default.
- W3100560475 hasConceptScore W3100560475C115903868 @default.
- W3100560475 hasConceptScore W3100560475C121332964 @default.
- W3100560475 hasConceptScore W3100560475C135257023 @default.
- W3100560475 hasConceptScore W3100560475C168167062 @default.
- W3100560475 hasConceptScore W3100560475C169590947 @default.
- W3100560475 hasConceptScore W3100560475C199360897 @default.
- W3100560475 hasConceptScore W3100560475C2778514511 @default.
- W3100560475 hasConceptScore W3100560475C41008148 @default.
- W3100560475 hasConceptScore W3100560475C43126263 @default.
- W3100560475 hasConceptScore W3100560475C97355855 @default.
- W3100560475 hasLocation W31005604751 @default.
- W3100560475 hasOpenAccess W3100560475 @default.
- W3100560475 hasPrimaryLocation W31005604751 @default.
- W3100560475 hasRelatedWork W102079401 @default.
- W3100560475 hasRelatedWork W1489921942 @default.
- W3100560475 hasRelatedWork W149492779 @default.
- W3100560475 hasRelatedWork W1576406833 @default.
- W3100560475 hasRelatedWork W1966385085 @default.
- W3100560475 hasRelatedWork W1992483812 @default.
- W3100560475 hasRelatedWork W2100629541 @default.
- W3100560475 hasRelatedWork W2126740902 @default.
- W3100560475 hasRelatedWork W2153324799 @default.
- W3100560475 hasRelatedWork W2156076209 @default.
- W3100560475 hasRelatedWork W2296124912 @default.
- W3100560475 hasRelatedWork W2519009229 @default.
- W3100560475 hasRelatedWork W2555016675 @default.
- W3100560475 hasRelatedWork W2738069602 @default.
- W3100560475 hasRelatedWork W2761840367 @default.
- W3100560475 hasRelatedWork W2806384388 @default.
- W3100560475 hasRelatedWork W2903357517 @default.
- W3100560475 hasRelatedWork W2970488659 @default.
- W3100560475 hasRelatedWork W2971226566 @default.
- W3100560475 hasRelatedWork W325391724 @default.
- W3100560475 isParatext "false" @default.
- W3100560475 isRetracted "false" @default.
- W3100560475 magId "3100560475" @default.
- W3100560475 workType "article" @default.