| L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 language definition. SIGPLAN Notices, 27(8):15--42, Aug. 1992. |
....type name. An advantage of the branding approach is that it is orthogonal to traditional structural type systems for objects or modules. A disadvantage is that it corresponds less well to the definitions and implementations of existing object oriented languages (with the exception of Modula 3 [13]) A more technical reason for abandoning the structural types with brands approach has to do with recursion: In a system with dependent types, type recursion can involve terms, which means that recursive types are not necessarily regular trees. For instance if p is a qualified identifier of an ....
L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 language definition. ACM SIGPLAN Notices, 27(8):15--42, August 1992.
....In fact, we can now access the XSORTER submodule via both module names, SORTER and XSORTER. The only difference is that when accessed via XSORTER, we can refer to the new functions. The ability to refine a module interface stepwise to allow different access levels is called incremental revelation [14]. This small example demonstrates that our module assembly and refinement mechanism not only supports the extension of atomic modules. It also allows us to extend fully linked programs (represented by modules with aggregated submodules) by simply replacing selected submodules with compatible ....
....the programming language Keris itself. Furthermore, with this project we hope to gain experience with the language and its capabilities to statically evolve software through module refinements and specializations. 6. Related Work Classical module systems like the one of Modula 2 [56] Modula 3 [14], Oberon 2 [40] and Ada 95 [53] can be used to model modular aspects of software components well, but they have severe restrictions concerning extensibility and reuse. These systems allow type safe separate compilation, but they hard wire module dependencies by refering to other modules by ....
L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 language definition. ACM SIGPLAN Notices, 27(8):15--42, August 1992.
.... Texas extracts from debugging information provided by the GNU C compiler [56] 6 PM3: Persistent Modula 3 To serve as a platform for research into compiler support for orthogonally persistent programming languages we have designed and implemented PM3: a persistent extension of the Modula 3 [19] programming language. 2 Modula 3 is a systems programming language that supports threads, objects with single inheritance, and strong notions of type safety. Modula 3 is strongly typed:every expression has a unique type, and assignability and type compati 2 Source code for Persistent ....
CARDELLI,L.,DONAHUE,J.,GLASSMAN,L.,JORDAN,M., KALSOW,B.,AND NELSON, G. Modula-3 language definition. In Systems Programming with Modula-3, G. Nelson, Ed. Prentice Hall, 1991, ch. 2, pp. 11--66.
....next level. Thus, the only overhead of repeatedly calling the collector are the tests that the low numbered generations are indeed empty. 6 Related Work Our malloc pointers mechanisms bear some resemblance to the weak references and weak arrays of (the DEC SRC implementation of) Modula 3 [4] and the ObjectworksnSmalltalk implementation [13] respectively. Both provide a method of associating a cleanup procedure to an object which is called when the associated object dies . An essential difference is that the cleanup procedure is written in Modula 3 (respectively Smalltalk) This is ....
L Cardelli, J Donahue, L Glassman, M Jordan, B Kalsow, G Nelson, Modula-3 Language Definition, ACM SIGPLAN Notices, 27, 8, 15--42, Aug. 1992.
....and types by encapsulating them into block structures and using scoping rules to dictate how these resources were able to interact. As software systems grew in size, block structures were supplemented by constructs such as modules and classes. Many modern programming languages, such as Modula 3 [1], support the encapsulation of a variety of resources, such as procedures and functions, into modules. In these languages, block structure scoping is still used to control the interactions within procedure blocks. However, it is supplemented by module scoping rules, which are used to restrict the ....
....concepts found in programming languages that support modules and classes. Our presentation of scoping rules gives an evolutionary perspective. In Section 2, we begin by describing block structure scoping using ALGOL 60 [12] as an example. In Section 3, we describe module scoping using Modula 3 [1] as an example. These two kinds of scoping pre date subsystem scoping, which is described in Section 4. We describe subsystem scoping using the Software Landscape [13] architectural notation as an example. 2 Block Structure Scoping One of the earliest programming language mechanisms for ....
[Article contains additional citation context not shown here]
Cardelli, L., Donahue, J., Glassman, L., Jordan, M., Kalsow, B., and Nelson, G. Modula-3 Language Definition. ACM SIGPLAN Notices 27, 8 (August 1992), 15--42.
....abstraction in C and to allow separating subtyping from inheritance is called a signature. Signatures, in this language extension, are related to types in Russell [16] signatures in ML [25, 26] type classes in Haskell [17] definition modules in Modula 2 [37] interface modules in Modula 3 [12], abstract types in Emerald [9] type modules in Trellis Owl [29] categories in Axiom [22] and its predecessor Scratchpad II [35, 36] and types in POOL I [4] In this section, we specify syntax and semantics of signatures, signature pointers, and signature references. We then show how ....
....constructs for specifying and working with signature types. These constructs allow us to decouple subtyping from inheritance. The result, C with signatures, has a type system related to those of several other modern programming languages. Similarly as in ML [25, 26] Modula 2 [37] and Modula 3 [12], signatures in C allow a clean separation of specification and implementation. However, ML and Modula 2 only have modules and no classes, while Modula 3 has both classes and modules but provides interfaces for modules only and not for classes. Russell [16] and Haskell [17] have notions related ....
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson. Modula-3 language definition. ACM SIGPLAN Notices, 27(8):15--43, August 1992.
....techniques developed by these research projects are applicable to Scout insofar that they are orthogonal to the modular structure and path abstraction around which Scout is centered. For example, Scout and its path abstraction could readily be implemented in a type safe language such as Modula 3 [13] or it could employ sandboxing [109] to ensure the safe execution of dynamically loaded native code modules. In industry, there is a wealth of operating systems that are increasingly targeted at network computers (NCs) which could be considered a form of information appliances. There is no ....
L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 language definition. SIGPLAN Notices, 27(8):15--42, August 1992.
....3. Thereafter, we describe a machineindependent intermediate language designed for optimizing Modula 3 compilation in Section 4. Finally, we present selected optimizations in Section 5 and conclude with some prospective comments on future work. 2 Modula 3 Modula 3 is an extension of Modula 3 [2] for problem oriented explicitly parallel programming. The programming model combines control and data parallelism. The compact new features are easy to learn, easy to use, and equally well suited for other imperative programming languages, such as Fortran, C, or Ada. Modula 3 encourages ....
L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 Language Definition. ACM SIGPLAN Notices, Vol. 27, No. 8, August 1992.
....control based programming constructs can be expressed by macro expansions, similar to Church encodings in lambda calculus. 1 Introduction Most programming languages in use today have some way to express concurrent execution of processes either in the language itself (e.g. Ada [20] Modula 3 [5], Facile [7] CML [23] or by means of a library (e.g. Modula 2 s Process module [28] C s thread library [25] This paper proposes a formal basis for reasoning about such languages. Traditionally, formal foundations for languages with concurrency constructs come in one of two styles. Most ....
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson. Modula-3 language definition. ACM SIGPLAN Notices, 27(8):15--42, August 1992.
....programming languages. As with each of the other languages except C , garbage collection is provided to free the programmer from the onerous task of memory management. Modula 3 While Oberon represents a minimal evolution of Modula 2 to support object oriented programming, Modula 3 [2, 4] is a larger language providing support for large, multi person programming projects with separate module interface specification and exception handling as well as concurrency and garbage collection. Modula 3 is a strongly typed language with an emphasis on safety. However, the safety features of ....
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson. Modula-3 language definition. SIGPLAN Notices, 27(8):15--43, August 1992.
....type by specifying the member functions that any implementation of the abstract type needs to have. The signature language construct is related to types in Russell [10] ML s signatures [17, 18] Haskell s type classes [11] definition modules in Modula 2 [24] interface modules in Modula 3 [7], abstract types in Emerald [4] type modules in Trellis Owl [19] categories in Axiom [15] and its predecessor Scratchpad II [22, 23] and types in POOL I [1] To associate an implementation with a signature type, we introduce the notion of a signature pointer into the language. For an ....
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson. Modula-3 language definition. ACM SIGPLAN Notices, 27(8):15--43, August 1992.
....the convention introduced in [4] of annotating the arrows with the abstract use that happens when the functional is applied. This is great for pedagogical purposes, but cannot be implemented as is in textual programming languages. Modula 3 associates exceptions to types using the keyword raises [1] type raises exc set FX [3] uses the infix operator to separate the type from the effect of expressions. We propose to use . for this purpose. Thus the extended type signature e : u1 : un means that e has type and can raise exceptions u1 , u n (n 0) The following conventions ....
L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 language definition. 27(8):15--42, 8 1992. ACM Sigplan Notices.
....host, preventing unauthorized access by checking that only valid mappings are used. This mechanism is effective and language independent, but inherently slow. A mobile code system can use language semantics to enforce safety by guaranteeing that a program can t affect resources that it can t name [38, 9, 40]. Though rare in current practice, it is possible to achieve good performance using this approach if the compiler intermediate representation retains type information [23, 39] However, this approach works through restriction. For example, a strongly typed intermediate language might promise ....
L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 language definition. SIGPLAN Notices, 27(8), August 1992.
No context found.
L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 language definition. SIGPLAN Notices, 27(8):15--42, Aug. 1992.
No context found.
L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 language definition. ACM SIGPLAN Notices, 27(8):15--42, Aug. 1992.
No context found.
L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 Language Definition. ACM SIGPLAN NOTICES, 27(8):15--42, August 1992.
No context found.
L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 language definition. ACM SIGPLAN Notices, 27(8):15--42, Aug. 1992.
No context found.
L. Cardelli, J. Donahue, L. Glasman, M. Jordan, B. Kalsow and G. Nelson. Modula-3 language definition. ACM SIGPLAN Notices, 27, No8, 1992, 15-42.
No context found.
L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 language definition. ACM SIGPLAN Notices, 27(8):15--42, Aug. 1992.
No context found.
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson. Modula3 language definition. ACM SIGPLAN Notices, 27(8):15--42, August 1992.
No context found.
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson. Modula3 language definition. ACM SIGPLAN Notices, 27(8):15--42, August 1992.
No context found.
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson. Modula3 language definition. ACM SIGPLAN Notices, 27(8):15--42, August 1992.
No context found.
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson. Modula3 language definition. ACM SIGPLAN Notices, 27(8):15--42, August 1992.
No context found.
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson. Modula-3 language definition. ACM SIGPLAN Notices, 27(8):15--43, August 1992. 137
No context found.
Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow, and Greg Nelson. Modula-3 language definition. In Nelson [Nel91], chapter 2, pages 11--66.
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