| Krishnamurthi, S., Y.-D. Erlich and M. Felleisen. Expressing structural properties as language constructs. In Proc. European Symposium on Programming, 1999. |
....metaprogramming features. Like Marcos et al. they separate roles from participants and, because they use compile time metaprogramming, it should be possible to perform static analysis. However, OpenJava does not provide anything like Knit s unit constraint system. Krishnamurthi et al. [15] describe an approach to pattern implementation based on McMicMac, an advanced macro system for Scheme. Their approach is like that of Tatsubori and Chiba: patterns are expanded statically (enabling optimization) and the application of patterns is not separated from the definitions of the ....
S. Krishnamurthi, Y.-D. Erlich, and M. Felleisen. Expressing structural properties as language constructs. In Programming Languages and Systems (Proc. of the Eighth European Symp. on Programming, ESOP '99), volume 1576 of Lecture Notes in Computer Science, pages 258--272. Springer-Verlag, Mar. 1999.
....the specific case of Java Beans, by automatically generating specialization classes. With a more formal definition of design patterns, it is possible that user guidance of the specialization process could be greatly simplified. For example, when the source language has support for design patterns [5, 19, 21] or when the program is developed using a CASE tool that supports design patterns [10, 25] specialization classes could be automatically generated for each use of a design pattern. These specialization classes would then precisely define the specialization capabilities of the resulting program. ....
S. Krishnamurthi, Y. Erlich, and M. Felleisen. Expressing structural properties as language constructs. In S. Swierstra, editor, Programming Languages and Systems, 8th European Symposium on Programming (ESOP'99), volume 1576 of Lecture Notes in Computer Science, pages 258-- 272. Springer-Verlag, 1999.
....e.g. the names for the participants, the pattern prescribed code, in fact, C classes in this case. An almost language based (as opposed to a purely tool oriented) approach can be based on macros to represent reusable designs or the instantiation procedures thereof. This option is studied in [29, 21]. In [21] the second author and collaborators describe an extension for the case tool Rational Rose to develop designs loosely based on the PaL language model. This approach to reuse in OOD OOP illustrates that a language model and tool support can be integrated. Reconstruction A candidate class ....
S. Krishnamurthi, Y.-D. Erlich, and M. Felleisen. Expressing Structural Properties as Language Constructs. In S. D. Swierstra, editor, Proc. ESOP'99, volume 1576 of LNCS, pages 258--272. Springer-Verlag, 1999.
....by a new kind of abstraction. The pattern catalogue of [6] was implemented in PaL. We presented a case study to implement a non trivial drawing application taking advantage of the completion of the object oriented programming paradigm by patterns. Related Work Suitable macro mechanisms (e.g. [10]) or program transformation meta programming frameworks are expressive enough to attempt a reusable implementation of design patterns. The contribution of our work is to model reuse of patterns as proper language construct, and to provide a corresponding generalization of the object oriented ....
S. Krishnamurthi, Y.-D. Erlich, and M. Felleisen. Expressing Structural Properties as Language Constructs. In S. D. Swierstra, editor, Proc. ESOP'99, volume 1576 of LNCS, pages 258--272. Springer-Verlag, 1999.
....for the specic case of Java Beans, by automatically generating specialization classes. With a more formal denition of design patterns, it is possible that user guidance of the specialization process could be greatly simplied. For example, if the source language had support for design patterns [5, 19, 21] or if the program were developed using a CASE tool that supports design patterns [25] specialization classes could be automatically generated for each use of a design pattern. These specialization classes would then precisely dene the specialization capabilities of the resulting program. 9 ....
S. Krishnamurthi, Y. Erlich, and M. Felleisen. Expressing structural properties as language constructs. In S.D. Swierstra, editor, Programming Languages and Systems, 8th European Symposium on Programming (ESOP'99), volume 1576 of Lecture Notes in Computer Science, pages 258272. Springer-Verlag, 1999.
....more features with priority dominating. The second condition states that there should be a dominating or even a new feature if there are two or more default features. The conflict is resolved by selecting the feature with the maximum priority. 4 Related work Suitable macro mechanisms (e.g. [KEF99]) or program transformation metaprogramming frameworks (e.g. Ass98] are expressive enough to attempt a reusable implementation of design patterns. The contribution of our work is to model reuse of patterns as language construct. Design patterns can be represented in Bosch s Layered Object ....
S. Krishnamurthi, Y.-D. Erlich, and M. Felleisen. Expressing Structural Properties as Language Constructs. In S. D. Swierstra (ed.), Proc. ESOP'99, volume 1576 of LNCS, pages 258--272. Springer-Verlag, 1999.
....help an individual programmer to design a components, and they can help other programmers understand the resulting code. Since the patterns are not part of the language, however, each programmer is responsible for maintaining or understanding a particular coding discipline. Krishnamurthi et al. [46] explore technology for migrating patterns to language constructs. ffl Smaragdakis and Batory [75] investigate the implementation of mixin layers for applying a family of cooperating mixins en masse to a family of classes. Mixin layers scale the mixin approach for components to larger systems. ....
Krishnamurthi, S., Y.-D. Erlich and M. Felleisen. Expressing structural properties as language constructs. In Proc. European Symposium on Programming, 1999.
....help an individual programmer to design a components, and they can help other programmers understand the resulting code. Since the patterns are not part of the language, however, each programmer is responsible for maintaining or understanding a particular coding discipline. Krishnamurthi et al. [46] explore technology for migrating patterns to language constructs. ffl Smaragdakis and Batory [75] investigate the implementation of mixin layers for applying a family of cooperating mixins en masse to a family of classes. Mixin layers scale the mixin approach for components to larger systems. ....
Krishnamurthi, S., Y.-D. Erlich and M. Felleisen. Expressing structural properties as language constructs. In Proc. European Symposium on Programming, 1999.
....17 Chapter 2 Linguistic Abstractions and their Implementation Epigrams are macros, since they are executed at read time. Alan Perlis, Epigrams on Programming [43] 2. 1 Principles Linguistic abstractions take many forms and are an established part of programmers toolkits in diverse domains [1, 8, 12, 26, 36, 39, 48, 55]. We shall rst consider a particularly useful special case of linguistic abstractions called macros. Macros in Scheme are tree transformers that rewrite concrete syntax trees. In traditional Scheme programs, program text is interspersed with macro de nitions. A macro preprocessor gathers these de ....
....explanation of the series of transformations that led to an error. This is especially useful to the developer of the transformations. By providing an appropriate interface, the tools themselves do not need to process this information. We prototyped an interface of this avor for a previous system [36]; gure 7.1 shows the e ect of these features on error reporting in actual user programs. We wish to de ne a similar facility for unit lang. 97 Chapter 8 Related Research Man invented language to satisfy his deep need to complain. Lily Tomlin Components are typically de ned as separately ....
Krishnamurthi, S., Y.-D. Erlich and M. Felleisen. Expressing structural properties as language constructs. In European Symposium on Programming, number 1576 in Lecture Notes in Computer Science, pages 258-272, March 1999.
No context found.
Krishnamurthi, Shriram, Erlich, Yan-David, & Felleisen, Matthias. 1999a (Mar.). Expressing structural properties as language constructs. Pages 258--272 of: European Symposium on Programming. Lecture Notes in Computer Science, no. 1576.
....and refine the design of our system. McMicMac has also been used to build tools for languages other than Scheme. Starting with a type checker and compiler for a parenthetical version of Java, it has been used to create language extensions representing design patterns [16] and other specifications [26]. The rest of this paper is organized as follows. Section 2 provides an extended example that illustrates some of the kinds of abstractions that generative programming makes possible. Section 3 describes the structure of McMicMac through a series of examples, and section 3.3 and section 4 refine ....
....including a stepper, static debugger [13] and compiler. We have also exploited McMicMac s attributes to build processors for typed languages, notably for a parenthesized representation of ClassicJava [15] Our implementation provides source object correlation [10] and transformation tracking [26], which is extremely useful for interactive programming environments. It eliminates most of the feedback comprehension problems present in traditional macro and template systems. All the tools in DrScheme use this information to provide source level feedback to the user. This also greatly ....
Krishnamurthi, S., Y.-D. Erlich and M. Felleisen. Expressing structural properties as language constructs. In European Symposium on Programming, March 1999.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC