| M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. Proc. Programming Language Design and Implementation, Montreal, Canada, June 1998. |
....to each structure to serve as the compile time name of that structure. However, this would be merely an elaboration convention, not an intrinsic account of structure sharing within type theory. Recursive Modules. An important direction for future research is to integrate recursive modules [8, 5, 30] into the present framework. The chief difficulty is to achieve practical type checking in the presence of general recursively dependent signatures, or to isolate a practical sub language that avoids these problems. 8 ....
Matthew Flatt and Matthias Felleisen. Units: Cool modules for HOT languages. In 1998.
....several authors have proposed linguistic mechanisms to support non hierarchical modular decomposition. Recent examples include: Sirer, et al. s extension of Modula 3 with a cross linking mechanism [21] Flatt and Felleisen s extension of their MzScheme language with cyclically dependent units [8]; Duggan and Sourelis s mixin modules that extend the Standard ML module system with a special mixlink construct for integrating mutually dependent structures [6, 7] and Ancona and Zucca s algebraic forrealism for mixin modules [2] Each of these proposals seeks to address the problem of ....
....would never arise when programming in a fully phase split style [11] Is it possible to program with only dynamic onstatic dependencies and thereby largely dispense with recursively dependent signatures To some degree, yes. This is the expressiveness provided by Flatt and Felleisen s units [8]. Recall the abstract syntax ex ample as corrected using a recursively dependent signature. That example used static on static dependencies in the specifications of exp and dec, and used dynamicon static dependencies in the specifications of raake let and make val. The dependency of dec on exp ....
[Article contains additional citation context not shown here]
Matthew Flatt and Matthiss Fellrisen. Units: Cool modules for HOT languages. In 1998.
....more expres1N e than our own, but they als require mores ignificant changes to Standard ML and its implementations Thes emantics of the linking consYUYw are not s elled out in detail, making a comparis[ with our approach di#cult. MorediswY tly related to our work are Flatt and FelleisEw[ units [7], a module language for Scheme thatcaters for cyclicly dependent and posEG E dynamically linked unitsR although the authors press t a typed vers U of the language, they point out that it does not give asUNHEw[AYEU treatment of ML s yle typesAHEREw which we dos upport. CloswN related to that ....
Flatt, M., and Felleisen, M. 1998. Units cool modules for HOTlanguages In Proc. ACM SIGPLAN'98 Conf. on Programming Language 236-248.
....internal and external names appear in the module calculi of Ancona and Zucca [4] and Wells and Vestergaard [38] Cardelli [7] gives a semantics for Unix style linking in terms of a simple # calculus, ensuring that all symbols in a program are resolved before it is executed. Flatt and Felleisen [13] and Glew and Morrisett [14] extend this work to consider typed module contents and circular import dependencies. It is not clear what the type of a module is in these approaches (linking simply resolves imports against exports in a type safe way) Glew and Morrisett do not support shared ....
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, 1998.
....module language itself. In the future we plan to use the module calculus presented in this paper to forrealize the configuration language used in the SML NJ Compilation Manager [3] We also plan to extend our module ealculns to support dynamic linking [22] and mutually recursire compilation units [9, 8]. Acknowledgement I would like to thank Karl Crary, Robert Harper, Xavier Leroy, David MacQueen, Claudio Russo, Valery Trifonov, and the ICFP program committee for their comments and suggestions on an early version of this paper. ....
M. Flatt and M. Fe!leisen. Units: Cool modules for HOT languages. In Proc. ACM SIGPLN '98 Conf. on Pros. Lung. Design and Implementation, pages 236-248. ACM Press, 1998.
....and Ada generics provide powerful parameterization mechanisms, but prohibit cross module recursion and offer no direct support for late binding. The concept of mixins, first introduced as a generalization of inheritance in class based OO languages [7] then extended to a family of module systems [12, 3, 14, 19], offers a promising and elegant solution to this problem. A mixin is a collection of named components, either defined (bound to a definition) or deferred (declared without definition) The basic operation on mixins is the sum, which takes two mixins and connects the defined components of one with ....
....each call, rather than only once at mixin combination time as in our system. More precisely, where we generate let rec f = A.f g and g = A.g f using AB S special let rec, Duggan and Sourelis must generate the less efficient let rec f x = A.f g x and g x = A.g f x. The units of Flatt and Felleisen [14] are a module system for Scheme. The ba sic program units import names and export definitions, much like in Ancona and Zucca s CM calculus. The recursion problem is solved as in [12] by separating initialization from component definition. Mixin calculi Ancona and Zucca [1 3] develop a theory of ....
M. Flatt and M. Felleisen. Units: cool modules for HOT languages. In Programming Language Design and Implementation 1998, pages 236-248. ACM Press, 1998.
....to each structure to serve as the compile time name of that structure. However, this would be merely an elaboration convention, not an intrinsic account of structure sharing within type theory. Recursive Modules. An important direction for future research is to integrate recursive modules [7, 5, 29] into the present framework. The chief di#culty is to achieve practical type checking in the presence of general recursively dependent signatures, or to isolate a practical sub language that avoids these problems. 21 ....
Matthew Flatt and Matthias Felleisen. Units: Cool modules for HOT languages. In 1998.
....by other units, which makes it easier to integrate concern implementations by isolating them from the naming and calling requirements of shared methods and classes. 1. Introduction Jiazzi [17] is an enhancement of Java that adds support for encapsulated code modules known as program units [8]. Units were originally designed to make programming more modular by providing for the explicit and safe management of code modules. This heritage also makes units ideal constructs to support aspect oriented programming [13] AOP) which focuses on modularizing programming concerns not easily ....
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In Proc. of PLDI, pages 236--248, May 1998.
.... module systems a valuable tool for promoting software reuse and incremental programming [AZ02] As a consequence, there have been several proposals for extending existing languages with mixins; however, even though there already exist some prototype implementations of such extensions (see, e.g. [FF98a,FF98b,HL02]) there are still several problems to be solved in order to fully and smoothly integrate mixins with all the other features of a real language. For instance, in the presence of store manipulation primitives, expressions inside mixins can have side e#ects, but this possibility raises some semantic ....
....by implicitly using the technique developed in [Hen93] for extending the semantics of inheritance given in [Coo89,Red88] to object oriented languages with state. After this pioneer work, some proposals for extending existing languages with a system of mixin modules were considered: DS96] and [FF98a,FF98b] go in this direction; however, imperative features are not considered and recursion problems are solved by separating initialization from component definition. The first calculi based on the notion of mixin modules appeared in [AZ99,AZ02] and then in [WV00,MT00] but all of them are defined in a ....
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In PLDI'98 - ACM Conf. on Programming Language Design and Implementation, pages 236--248, 1998.
....to each structure to serve as the compile time name of that structure. However, this would be merely an elaboration convention, not an intrinsic account of structure sharing within type theory. Recursive Modules. An important direction for future research is to integrate recursive modules [8, 5, 30] into the present framework. The chief difficulty is to achieve practical type checking in the presence of general recursively dependent signatures, or to isolate a practical sub language that avoids these problems. 8 ....
Matthew Flatt and Matthias Felleisen. Units: Cool modules for HOT languages. In 1998.
....languages (MILs) support system composition from separate modules [PN86] Jiazzi [MFH01] is a component infrastructure for Java, and a similar system, Knit, supports componentbased programming in C. These tools are derived from research into advanced module systems, exemplified by MzScheme s Units [FF98] and ML s functors. ADLs differ from MILs in that the former make connectors explicit in order to describe data and control flow between components, while the latter focus on describing the uses relationship between modules [MT00] Existing MILs cannot be used to describe dynamic architectures, ....
Matthew Flatt and Matthias Felleisen. Units: Cool modules for HOT languages. Proc. Programming Language Design and Implementation, Montreal, Canada, June 1998.
....and once for all fixed architecture, like the client server approach) Therefore, we intend to explore a new programming model, which includes specialized constructions to support component oriented programming. Other approaches have been suggested in specific contexts: Component Pascal, Units [7], Mixins [1] In this project, we intend to develop a general notion of typed component following [3] that accounts for new forms of dynamic component adaptation and composition. The resulting programming language, called ComponentJ, extends Java with some basic ingredients essential to black box ....
Flatt, M., Felleisen, M., Units: Cool Modules for HOT languages. In Proceedings of the ACM SIGOPLAN'98 Conference on Programming Language Design and Implementation (PLDI). 1998
....and Ada generics provide powerful parameterization mechanisms, but prohibit cross module recursion and o#er no direct support for late binding. The concept of mixins, first introduced as a generalization of inheritance in class based OO languages [8] then extended to a family of module systems [13, 3, 15, 21], o#ers a promising and elegant solution to this problem. A mixin is a collection of named components, either defined (bound to a definition) or deferred (declared without definition) The basic operation on mixins is the sum, which takes two mixins and connects the defined components of one with ....
....code goes into a separate, non combinable part of mixins. Their compilation scheme (into ML modules) is less e#cient than ours, since the fixpoint defining a function is computed at each call, rather than only once at mixin combination time as in our system. The units of Flatt and Felleisen [15] are a module system for Scheme. The basic program units import names and export definitions, much like in Ancona and Zucca s CMS calculus. The recursion problem is solved as in [13] by separating initialization from component definition. Ancona and Zucca [1 3] develop a theory of mixins, ....
M. Flatt and M. Felleisen. Units: cool modules for HOT languages. In Prog. Lang. Design and Impl. 1998, pages 236--248. ACM Press, 1998.
No context found.
Flatt, M. and M. Felleisen: 1998, `Units: Cool Modules for HOT Languages'. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation. pp. 236--248.
....As object oriented software systems increase in size and complexity, components are becoming central to the design process, and they deserve close integration with the language. Jiazzi [4] enhances Java with support for large scale software components. Jiazzi components are constructed as units [3]. A unit is conceptually a container of compiled Java classes with support for typed connections. There are two types of units: atoms, which are built from Java classes, and compounds, which are built from atoms and other compounds. Units import and export Java classes. Classes imported into a ....
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In Proc. of PLDI, pages 236--248, May 1998.
....should be integrated with the core language, as opposed to working around the language with various compositional design patterns [6] In class based languages, the primary core language construct is the class, and large scale elements of reuse are class libraries and frameworks. Jiazzi s units [5] are explicit language constructs that describe components. There are two types of units: atoms, which are built from Java classes, and compounds, which are built from other units. Both atoms and compounds import and export Java classes. P3. Coarse grained connections: Connections between imports ....
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In Proc. of PLDI, pages 236--248, May 1998.
....Thus, the stx argument must be a syntax object matching a particular shape. Input syntax is deconstructed using the pattern matching syntax case form [8] The module import relation must be acyclic. MzScheme provides a separate mechanism for defining units with mutually recursive references [9], and units are implemented with macros. In the zoo switch pattern, zebra and lizard are literals (because they are listed before the pattern) and expr , w name , s name , and z body are pattern variables. Within a pattern, ellipses ( match a sequence of source sub expressions ....
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In Proc. ACMConference on Programming Language Design and Implementation, pages 236--248, June 1998.
....of the main DrScheme releases. To support TeachPacks and tools, DrScheme requires a powerful form of program extension. TeachPacks are dynamically linked multiple times, and tools are dynamically linked with externally specified imports. To support both TeachPacks and tools, DrScheme uses units [15], a software component mechanism designed as part of the MzScheme [14] programming language. 1.2 Class and Function Contracts from DrScheme This section motivates the remainder of this dissertation with example contracts from DrScheme. The contracts range from simple predicates on flat values to ....
Flatt, M. and M. Felleisen. Units: Cool modules for HOT languages. In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 236--248, June 1998.
No context found.
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. Proc. Programming Language Design and Implementation, Montreal, Canada, June 1998.
No context found.
Matthew Flatt and Matthias Felleisen. Units: Cool modules for HOT languages. Proc. Programming Language Design and Implementation, Montreal, Canada, June 1998.
No context found.
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In PLDI'98 - ACM Conf. on Programming Language Design and Implementation, pages 236-248, 1998.
No context found.
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In PLDI'98 - ACM Conf. on Programming Language Design and Implementation, pages 236-248, 1998.
No context found.
M. Flatt, M. Felleisen. Units: Cool modules for HOT languages. In Proc. ACM SIGPLAN '98 Conf. Prog. Lang. Design & Impl., 1998.
No context found.
Matthew Flatt and Matthias Felleisen. Units: Cool modules for HOT languages. In Proc. ACM SIGPLAN '98 Conf. Prog. Language Design & Implementation, 1998.
No context found.
Matthew Flatt and Matthias Felleisen. Units: Cool modules for hot languages. In Proceedings of the ACM SIGPLAN '98 conference on Programming language design and implementation, pages 236--248, Montreal, Quebec, Canada, 1998. ACM Press.
No context found.
Matthew Flatt and Matthias Felleisen. Units: cool modules for HOT languages. In Prog. Lang. Design and Impl. 1998.
No context found.
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In Proceedings of the PLDI '98 Conference on Programming Language Design and Implementation, 236--248, 1998.
No context found.
Flatt, M. and Felleisen, M. (1998) Units: cool modules for hot languages. In ACM Conf. on Programming Language Design and Implementation. Montreal, Canada, June 17--19, pp. 236-- 248. ACM Press.
No context found.
M. Flatt and M. Felleisen. Units: Cool Modules for HOT Languages. In Proc. ACM Conference on Programming Language Design and Implementation, pages 236--248, 1998.
No context found.
Matthew Flatt and Matthias Felleisen. Units: Cool modules for HOT languages. In Proceedings of the ACM SIGPLAN '98 Conference on Programming Language Design and Implementation, pages 236--248, 1998.
No context found.
Matthew Flatt and Matthias Felleisen. Units: Cool modules for HOT languages. In Proceedings of the Conference on Programming Language Design and Implementation (PLDI), 1998.
No context found.
Matthew Flatt and Matthias Felleisen. Units: Cool modules for HOT languages. In Proceedings of the Conference on Programming Language Design and Implementation (PLDI), 1998.
No context found.
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In PLDI'98 - ACM Conf. on Programming Language Design and Implementation, pages 236--248, 1998.
No context found.
Matthew Flatt and Matthias Felleisen. Units: Cool modules for hot languages. In ACM Conference on Programming Language Design and Implementation, pages 236--248, 1998.
No context found.
Matthew Flatt and Matthias Felleisen. Units: Cool modules for hot languages. In ACM Conference on Programming Language Design and Implementation, pages 236--248, 1998.
No context found.
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In Proc. of the Conference on Programming Language Design and Implementation (PLDI), pages 236-248, 1998.
No context found.
Matthew Flatt and Matthias Felleisen. Units: cool modules for HOT languages. In Programming Language Design and Implementation, pages 236 248. ACM Press, 1998.
No context found.
M. Flatt and M. Felleisen. Units: cool modules for HOT languages. In Proceedings of the ACM SIGPLAN 1998.
No context found.
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In Proc. of PLDI, pages 236--248, May 1998.
No context found.
M. Flatt and M. Felleisen. Units: cool modules for HOT languages. In Prog. Lang. Design and Impl., pages 236-248. ACM Press, 1998.
No context found.
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In Proc. of PLDI, pages 236--248, May 1998.
No context found.
M. Flatt and M. Felleisen. Units: cool modules for HOT languages. In Proceedings of the ACM SIGPLAN 1998.
No context found.
M. Flatt, M. Felleisen. Units: cool modules for HOT languages. In Prog. Lang. Design and Impl. ACM Press, 1998.
No context found.
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In Proc. ACM SIGPLAN '98 Conf. Prog. Lang. Design & Impl., 1998.
No context found.
Matthew Flatt and Matthias Felleisen. Units: Cool modules for HOT languages. In 1998.
No context found.
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, 1998.
No context found.
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In PLDI'98 - ACM Conf. on Programming Language Design and Implementation, pages 236-248, 1998.
No context found.
M. Flatt and M. Felleisen. Units: Cool modules for HOT languages. In Proc. ACM SIGPLAN '98 Conf. Prog. Lang. Design & Impl., pp. 236--248, 1998.
No context found.
M. Flatt and M. Felleisen. Units: cool modules for HOT languages. In Prog. Lang. Design and Impl., pages 236-- 248. ACM Press, 1998.
No context found.
Matthew Flatt and Matthias Felleisen. Units: Cool modules for HOT languages. In 1998.
First 50 documents Next 50
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