Glyphic Script(ID:2269/gly001)Prototype based scripting languagePrototyped oo language by Mark Lentczner from Glyphic Technology Used in the Go environment, and developed within the Codeworks environment Although prototyped, it maintained the idea of a class. (ref Roesch?) Related languages
References: Direct Programming environments are highly interactive, in which the structures of program objects are built graphically, and their behavior is programmed incrementally. They offer the user the programming equivalent of a WYSIWYG text processor. Such environments have become popular in recent years: HyperCard and Visual Basic are two examples. While excellent for simple applications, these existing environments were not built on formal object models and so are difficult or impossible to use for moderate to complex tasks. We have found that a Unified Object Model is a good match to the user needs and expectations of Direct Programming systems. A Unified Object Model unites the concepts of classes and objects: any object can be used as a prototype (class) and any object can have new behavior attached to it. This model provides power with minimal constructs and makes all program entities concrete and accessible for the user. For example, even the prototypes can have graphical views. Glyphic Script [...] is the result of two years of effort to create a small portable, and practical development environment and language. Our primary goals were directness of the programming process and power of the programming language. Early on, we felt that prototypes would enable us to reach these goals more quickly and easily. In Glyphic Script, an object consists of a number of properties which may be variables or methods. Any object can serve as the parent (or "class" or "prototype") of other objects. This is a single inheritance model where properties of a parent may be inherited by its children. Inheritance is seen as an organizing tool for the programmer, not as a pure type abstraction mechanism. The object model has two/types of copying: the "new" operation to create an instance and the "copy" operation to create a peer. Through property "scopes" the object has control over what is copied, what is shared and what is inherited by the objects created with these operations. Extract: Conclusion Conclusion Glyphic Script has shown itself to meet its goals as a direct and powerful language. It owes much of that success to the choice of prototypes for its object model. However, it did not abandon the concept of class in the process. We hope that Glyphic Script helps show that prototypes are not just conceptual curiosities, but a powerful concept for the next generation of practical languages. Extract: Keeping Classes Keeping Classes We never found the need to remove the concept of class from the system: The concept of class works well as an organizing principle in libraries and programs. While the development environment and libraries talk of classes, these are really prototype objects and the language semantics do not treat them any differently. Instead of eliminating classes, Glyphic Script demystifies them and makes them truly regular object. in Smith, Randall B (moderator) "Prototype-based languages (panel): object lessons from class-free programming" OOPSLA 94 pp102-112 view details Resources
|