Gilad Bracha
University of Utah
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Gilad Bracha.
european conference on object oriented programming | 1990
Gilad Bracha; William R. Cook
The diverse inheritance mechanisms provided by Smalltalk, Beta, and CLOS are interpreted as different uses of a single underlying construct. Smalltalk and Beta differ primarily in the direction of class hierarchy growth. These inheritance mechanisms are subsumed in a new inheritance model based on composition of mixins, or abstract subclasses. This form of inheritance can also encode a CLOS multiple-inheritance hierarchy, although changes to the encoded hierarchy that would violate encapsulation are difficult. Practical application of mixin-based inheritance is illustrated in a sketch of an extension to Modula-3.
conference on object oriented programming systems languages and applications | 1993
Gilad Bracha; David Griswold
Strongtalk TM is a typechecker for a downwardcompatible Smalltalk dialect. It is designed for large-scale production software development, and incorporates a strong, modern structural type system. It not only separates the notions of type and class, but also deals with the more dicult issue of separating inheritance and subtyping using the notion of inherited types [CHC90, Bru93a] to preserve encapsulation. Strongtalk integrates inherited types, metaclasses, blocks and polymorphic methods into a highly usable, full-scale language.
international conference on computational logistics | 1992
Gilad Bracha; Gary Lindstrom
Several roles of classes in existing languages are unbundled by providing a suite of operators independently controlling such effects as combination, modification, encapsulation, name resolution, and sharing, all on the single notion of a module. It is pointed out that all module operators are forms of inheritance: thus, inheritance not only is not in conflict with modularity in the present system, but is its foundation. This allows a previously unobtainable spectrum of features to be combined in a cohesive manner, including multiple inheritance, mixings, encapsulation, and strong typing. The proposed approach is demonstrated in a language called Jigsaw. The language is modular in two senses: it manipulates modules and it is highly modular in its own conception, permitting various module combinators to be included, omitted, or newly constructed in various realizations.<<ETX>>
european conference on object oriented programming | 2010
Gilad Bracha; Peter von der Ahé; Vassili Bykov; Yaron Kashai; William Maddox; Eliot Miranda
We describe support for modularity in Newspeak, a programming language descended from Smalltalk [33] and Self [69]. Like Self, all computation -- even an objects own access to its internal structure -- is performed by invoking methods on objects. However, like Smalltalk, Newspeak is class-based. Classes can be nested arbitrarily, as in Beta [44]. Since all names denote method invocations, all classes are virtual; in particular, superclasses are virtual, so all classes act as mixins. Unlike its predecessors, there is no static state in Newspeak, nor is there a global namespace. Modularity in Newspeak is based exclusively on class nesting. There are no separate modularity constructs such as packages. Top level classes act as module definitions, which are independent, immutable, self-contained parametric namespaces. They can be instantiated into modules which may be stateful and mutually recursive.
Software - Practice and Experience | 1987
Ehud Gudes; Gilad Bracha
GCI is a Unix‐based tool for developing interactive CAD programs. By separating command/ menu definitions from the progam, GCI makes it easier to change and extend the user interface. The language provided by GCI is used to define the syntax of commands, menus, messages, and help text. Generally, GCI supports a static hierarchical structure of commands and menus. However, through a program interface, an application program has the freedom to change environments, commands and menus. This flexibility of run‐time control of the user interface is essential for developing highly responsive interfaces in a CAD environment.
Archive | 1992
Gilad Bracha
Archive | 2002
Lars Bak; Gilad Bracha; Robert Griesemer; David Griswold
Archive | 1996
Gilad Bracha; David Griswold
conference on object-oriented programming systems, languages, and applications | 2001
Gilad Bracha; Norman H. Cohen; C. A. Kemper; David P. Stoutamire; Kresten Krab Thorup; Philip Wadler
Archive | 2001
Gilad Bracha; Norman H. Cohen; C. A. Kemper; Steffen Marx