Matches in SemOpenAlex for { <https://semopenalex.org/work/W4206708621> ?p ?o ?g. }
- W4206708621 endingPage "61" @default.
- W4206708621 startingPage "1" @default.
- W4206708621 abstract "Modularity is a key concern in programming. However, programming languages remain limited in terms of modularity and extensibility. Small canonical problems, such as the Expression Problem (EP), illustrate some of the basic issues: the dilemma between choosing one kind of extensibility over another one in most programming languages. Other problems, such as how to express dependencies in a modular way, add up to the basic issues and remain a significant challenge. This article presents a new statically typed modular programming style called Compositional Programming . In Compositional Programming, there is no EP: It is easy to get extensibility in multiple dimensions (i.e., it is easy to add new variants as well as new operations). Compositional Programming offers an alternative way to model data structures that differs from both algebraic datatypes in functional programming and conventional OOP class hierarchies. We introduce four key concepts for Compositional Programming: compositional interfaces , compositional traits , method patterns , and nested trait composition . Altogether, these concepts allow us to naturally solve challenges such as the Expression Problem, model attribute-grammar-like programs, and generally deal with modular programs with complex dependencies . We present a language design, called CP , which is proved to be type-safe, together with several examples and three case studies." @default.
- W4206708621 created "2022-01-26" @default.
- W4206708621 creator A5019451827 @default.
- W4206708621 creator A5049714036 @default.
- W4206708621 creator A5057519159 @default.
- W4206708621 date "2021-09-03" @default.
- W4206708621 modified "2023-10-04" @default.
- W4206708621 title "Compositional Programming" @default.
- W4206708621 cites W1567378416 @default.
- W4206708621 cites W1591471358 @default.
- W4206708621 cites W1720741243 @default.
- W4206708621 cites W1758754314 @default.
- W4206708621 cites W1900519842 @default.
- W4206708621 cites W1964071625 @default.
- W4206708621 cites W1970227944 @default.
- W4206708621 cites W1987454317 @default.
- W4206708621 cites W1995618084 @default.
- W4206708621 cites W2005221219 @default.
- W4206708621 cites W2026667713 @default.
- W4206708621 cites W2036676170 @default.
- W4206708621 cites W2037005852 @default.
- W4206708621 cites W2037984920 @default.
- W4206708621 cites W2056821525 @default.
- W4206708621 cites W2075200505 @default.
- W4206708621 cites W2080648611 @default.
- W4206708621 cites W2094282293 @default.
- W4206708621 cites W2099305192 @default.
- W4206708621 cites W2100759424 @default.
- W4206708621 cites W2106052980 @default.
- W4206708621 cites W2108556267 @default.
- W4206708621 cites W2123092976 @default.
- W4206708621 cites W2134338128 @default.
- W4206708621 cites W2135642511 @default.
- W4206708621 cites W2136177623 @default.
- W4206708621 cites W2137252778 @default.
- W4206708621 cites W2141576692 @default.
- W4206708621 cites W2149587963 @default.
- W4206708621 cites W2150101804 @default.
- W4206708621 cites W2163552400 @default.
- W4206708621 cites W2517607333 @default.
- W4206708621 cites W2563592207 @default.
- W4206708621 cites W2933554047 @default.
- W4206708621 cites W3014240747 @default.
- W4206708621 cites W3102026406 @default.
- W4206708621 cites W4233881619 @default.
- W4206708621 cites W4245886278 @default.
- W4206708621 cites W4251450266 @default.
- W4206708621 cites W4252191421 @default.
- W4206708621 cites W4252832858 @default.
- W4206708621 cites W4254538683 @default.
- W4206708621 cites W4254691308 @default.
- W4206708621 doi "https://doi.org/10.1145/3460228" @default.
- W4206708621 hasPublicationYear "2021" @default.
- W4206708621 type Work @default.
- W4206708621 citedByCount "8" @default.
- W4206708621 countsByYear W42067086212022 @default.
- W4206708621 countsByYear W42067086212023 @default.
- W4206708621 crossrefType "journal-article" @default.
- W4206708621 hasAuthorship W4206708621A5019451827 @default.
- W4206708621 hasAuthorship W4206708621A5049714036 @default.
- W4206708621 hasAuthorship W4206708621A5057519159 @default.
- W4206708621 hasBestOaLocation W42067086211 @default.
- W4206708621 hasConcept C101468663 @default.
- W4206708621 hasConcept C131531359 @default.
- W4206708621 hasConcept C138958017 @default.
- W4206708621 hasConcept C150762246 @default.
- W4206708621 hasConcept C199360897 @default.
- W4206708621 hasConcept C26517878 @default.
- W4206708621 hasConcept C2779478453 @default.
- W4206708621 hasConcept C32833848 @default.
- W4206708621 hasConcept C34165917 @default.
- W4206708621 hasConcept C38652104 @default.
- W4206708621 hasConcept C41008148 @default.
- W4206708621 hasConcept C50033165 @default.
- W4206708621 hasConcept C54355233 @default.
- W4206708621 hasConcept C7051814 @default.
- W4206708621 hasConcept C73752529 @default.
- W4206708621 hasConcept C80444323 @default.
- W4206708621 hasConcept C86803240 @default.
- W4206708621 hasConcept C96315309 @default.
- W4206708621 hasConceptScore W4206708621C101468663 @default.
- W4206708621 hasConceptScore W4206708621C131531359 @default.
- W4206708621 hasConceptScore W4206708621C138958017 @default.
- W4206708621 hasConceptScore W4206708621C150762246 @default.
- W4206708621 hasConceptScore W4206708621C199360897 @default.
- W4206708621 hasConceptScore W4206708621C26517878 @default.
- W4206708621 hasConceptScore W4206708621C2779478453 @default.
- W4206708621 hasConceptScore W4206708621C32833848 @default.
- W4206708621 hasConceptScore W4206708621C34165917 @default.
- W4206708621 hasConceptScore W4206708621C38652104 @default.
- W4206708621 hasConceptScore W4206708621C41008148 @default.
- W4206708621 hasConceptScore W4206708621C50033165 @default.
- W4206708621 hasConceptScore W4206708621C54355233 @default.
- W4206708621 hasConceptScore W4206708621C7051814 @default.
- W4206708621 hasConceptScore W4206708621C73752529 @default.
- W4206708621 hasConceptScore W4206708621C80444323 @default.
- W4206708621 hasConceptScore W4206708621C86803240 @default.
- W4206708621 hasConceptScore W4206708621C96315309 @default.