Matches in SemOpenAlex for { <https://semopenalex.org/work/W2521529138> ?p ?o ?g. }
- W2521529138 abstract "Advice is a mechanism, widely used in aspect-oriented languages, that allows one program component to augment or modify the behavior of other components. Advice is useful for modularizing concerns, including logging, error handling, and some optimizations, that would otherwise require code to be scattered throughout a system. When advice and other components are composed together they become tightly coupled, sharing both control and data flows. However this creates important problems: modular reasoning about a component becomes very difficult; and two tightly coupled components may interfere with the control and data flows of each other. This paper presents EffectiveAdvice, a disciplined model of advice, inspired by Aldrich’s Open Modules, that has full support for effects in both base components and advice. With EffectiveAdvice, equivalence of advice, as well as base components, can be checked by equational reasoning. The paper describes an implementation of EffectiveAdvice as a Haskell library and shows how to use it to solve well-known programming problems. Advice is modeled by mixin inheritance and effects are modeled by monads. Interference patterns previously identified in the literature are expressed as combinators. Parametricity, together with the combinators, is used to prove two harmless advice theorems. The result is an effective model of advice that supports effects in both advice and base components, and allows these effects to be separated with strong noninterference guarantees, or merged as needed." @default.
- W2521529138 created "2016-09-30" @default.
- W2521529138 creator A5029147559 @default.
- W2521529138 creator A5049714036 @default.
- W2521529138 creator A5050247934 @default.
- W2521529138 date "2009-07-01" @default.
- W2521529138 modified "2023-09-26" @default.
- W2521529138 title "EffectiveAdvice: Overview, background and proofs" @default.
- W2521529138 cites W116691724 @default.
- W2521529138 cites W1487086732 @default.
- W2521529138 cites W1494264673 @default.
- W2521529138 cites W1548394473 @default.
- W2521529138 cites W1556536463 @default.
- W2521529138 cites W1591471358 @default.
- W2521529138 cites W1594279870 @default.
- W2521529138 cites W1716898798 @default.
- W2521529138 cites W172799518 @default.
- W2521529138 cites W1851327982 @default.
- W2521529138 cites W192458036 @default.
- W2521529138 cites W1965418329 @default.
- W2521529138 cites W1997143185 @default.
- W2521529138 cites W2000551127 @default.
- W2521529138 cites W2029414465 @default.
- W2521529138 cites W2037984920 @default.
- W2521529138 cites W2057292961 @default.
- W2521529138 cites W2057632882 @default.
- W2521529138 cites W2068706008 @default.
- W2521529138 cites W2075867419 @default.
- W2521529138 cites W2094282293 @default.
- W2521529138 cites W2106731015 @default.
- W2521529138 cites W2115680394 @default.
- W2521529138 cites W2116244845 @default.
- W2521529138 cites W2116813111 @default.
- W2521529138 cites W2125899403 @default.
- W2521529138 cites W2131916293 @default.
- W2521529138 cites W2141576692 @default.
- W2521529138 cites W2142535561 @default.
- W2521529138 cites W2143238865 @default.
- W2521529138 cites W2149612550 @default.
- W2521529138 cites W2156876717 @default.
- W2521529138 cites W2158113114 @default.
- W2521529138 cites W2159410989 @default.
- W2521529138 cites W2164067955 @default.
- W2521529138 cites W2173780645 @default.
- W2521529138 cites W2182406401 @default.
- W2521529138 cites W2295150383 @default.
- W2521529138 cites W3171421481 @default.
- W2521529138 cites W1560953315 @default.
- W2521529138 hasPublicationYear "2009" @default.
- W2521529138 type Work @default.
- W2521529138 sameAs 2521529138 @default.
- W2521529138 citedByCount "0" @default.
- W2521529138 crossrefType "journal-article" @default.
- W2521529138 hasAuthorship W2521529138A5029147559 @default.
- W2521529138 hasAuthorship W2521529138A5049714036 @default.
- W2521529138 hasAuthorship W2521529138A5050247934 @default.
- W2521529138 hasConcept C101468663 @default.
- W2521529138 hasConcept C108710211 @default.
- W2521529138 hasConcept C115903868 @default.
- W2521529138 hasConcept C121332964 @default.
- W2521529138 hasConcept C138885662 @default.
- W2521529138 hasConcept C168167062 @default.
- W2521529138 hasConcept C199360897 @default.
- W2521529138 hasConcept C2524010 @default.
- W2521529138 hasConcept C2777904410 @default.
- W2521529138 hasConcept C2779955035 @default.
- W2521529138 hasConcept C2780069185 @default.
- W2521529138 hasConcept C2780624054 @default.
- W2521529138 hasConcept C33923547 @default.
- W2521529138 hasConcept C39920170 @default.
- W2521529138 hasConcept C41008148 @default.
- W2521529138 hasConcept C41895202 @default.
- W2521529138 hasConcept C42383842 @default.
- W2521529138 hasConcept C60051680 @default.
- W2521529138 hasConcept C79678938 @default.
- W2521529138 hasConcept C97355855 @default.
- W2521529138 hasConceptScore W2521529138C101468663 @default.
- W2521529138 hasConceptScore W2521529138C108710211 @default.
- W2521529138 hasConceptScore W2521529138C115903868 @default.
- W2521529138 hasConceptScore W2521529138C121332964 @default.
- W2521529138 hasConceptScore W2521529138C138885662 @default.
- W2521529138 hasConceptScore W2521529138C168167062 @default.
- W2521529138 hasConceptScore W2521529138C199360897 @default.
- W2521529138 hasConceptScore W2521529138C2524010 @default.
- W2521529138 hasConceptScore W2521529138C2777904410 @default.
- W2521529138 hasConceptScore W2521529138C2779955035 @default.
- W2521529138 hasConceptScore W2521529138C2780069185 @default.
- W2521529138 hasConceptScore W2521529138C2780624054 @default.
- W2521529138 hasConceptScore W2521529138C33923547 @default.
- W2521529138 hasConceptScore W2521529138C39920170 @default.
- W2521529138 hasConceptScore W2521529138C41008148 @default.
- W2521529138 hasConceptScore W2521529138C41895202 @default.
- W2521529138 hasConceptScore W2521529138C42383842 @default.
- W2521529138 hasConceptScore W2521529138C60051680 @default.
- W2521529138 hasConceptScore W2521529138C79678938 @default.
- W2521529138 hasConceptScore W2521529138C97355855 @default.
- W2521529138 hasLocation W25215291381 @default.
- W2521529138 hasOpenAccess W2521529138 @default.
- W2521529138 hasPrimaryLocation W25215291381 @default.
- W2521529138 hasRelatedWork W1555594999 @default.