Results 1 -
5 of
5
A Framework for Visualizing Object-Oriented Systems
- In: Proceedings, ECOOP/OOPSLA'90, European Conference on Object-Oriented Programming and Object Oriented Programming: Systems, Languages and Applications
, 1990
"... This paper describes a new approach to visualizing program systems within the object-oriented paradigm. This approach is based on a T E X-like notation which has been extended and generalized for specifying graphical layout of arbitrary objects. The CLOS meta-level architecture is used to associate ..."
Abstract
-
Cited by 15 (3 self)
- Add to MetaCart
This paper describes a new approach to visualizing program systems within the object-oriented paradigm. This approach is based on a T E X-like notation which has been extended and generalized for specifying graphical layout of arbitrary objects. The CLOS meta-level architecture is used to associate visualization and application objects. We propose several useful techniques such as indirect values, slot and method demons, and instance-specific metaobjects. Our techniques require no modifications to the systems which are selected for visualization. We demonstrate the feasibility of our approach using application domains such as CLOS debugging and constraint systems. 1 Introduction Although programming has mostly been done in textual terms users have always had a notion of visualizing their programs. Programs have been entered as lines of text but soon users started to indent their programs and also used comments for separating or emphasizing particular program parts. Tools were develop...
I+: A Multiparadigm Language for Object-Oriented Declarative Programming
- Computer Languages
, 1995
"... This paper presents a multiparadigm language I + which is an integration of the three major programming paradigms: object-oriented, logic and functional. I + has an object-oriented framework in which the notions of classes, objects, methods, inheritance and message passing are supported. Methods m ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
This paper presents a multiparadigm language I + which is an integration of the three major programming paradigms: object-oriented, logic and functional. I + has an object-oriented framework in which the notions of classes, objects, methods, inheritance and message passing are supported. Methods may be specified as clauses or functions, thus the two declarative paradigms are incorporated at the method level of the object-oriented paradigm. In addition, two levels of parallelism may be exploited in I + programming. Therefore I + is a multiparadigm language for object-oriented declarative programming as well as parallel programming. Keywords: Multiparadigm, Object-oriented paradigm , Logic paradigm , Functional paradigm 1 Introduction A multiparadigm language is a language that supports more than one programming paradigm. Multiparadigm languages are desirable for the following reasons: . A programmer can choose the most appropriate paradigm for a particular problem at hand so that...
Compilation of non-linear, second order patterns on S-expressions
- In 2nd Int. Symp. on Programming Language Implementation and Logic Programming, LNCS 456
, 1990
"... Pattern matching is a key concept for rule-based expert systems. Simple pattern interpreters appear in nearly every book on Lisp. Pattern matching is also a useful tool for case analyses as provided by functional languages such as ML or Miranda TM . These two uses are somewhat different since func ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
Pattern matching is a key concept for rule-based expert systems. Simple pattern interpreters appear in nearly every book on Lisp. Pattern matching is also a useful tool for case analyses as provided by functional languages such as ML or Miranda TM . These two uses are somewhat different since functional languages emphasize a discrimination based on types while Lisp, or Plasma, make use of S-expressions or segments of S-expressions within patterns. The paper presents an intermediate language for patterns and its denotational semantics. This reduced language is powerful enough to express boolean composition of patterns as well as segment handling and unbounded pattern repetition. A compiler is then defined which translates patterns into functional code. We discuss some compilation variant as well as the integration of the pattern sub-language into Lisp. These capabilities make pattern matching an useful and efficient tool for a wide class of applicative languages and allow to incorpora...
Visualization and Graphical Layout in Object-Oriented Systems
- Journal of Visual Languages and Computing
, 1992
"... This paper describes two aspects of visualizing program systems within the objectoriented paradigm: layout specifications for graphical objects and associations of visualization and application objects. The layout approach is based on a notation similar to the T E X text formatting language. It has ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
This paper describes two aspects of visualizing program systems within the objectoriented paradigm: layout specifications for graphical objects and associations of visualization and application objects. The layout approach is based on a notation similar to the T E X text formatting language. It has been extended and generalized for specifying graphical layout of user interfaces and arbitrary objects. Our simplest scheme o#ers specifications similar to T E X's box-and-glue metaphor. Size and position of virtual boxes and glue can be specified by simple constraints. In the second part of the paper we show how the CLOS (Common Lisp Object System) meta-level architecture can be exploited to associate visualization and application objects. We show how several useful techniques such as indirect values, slot and method demons, and instance-specific meta-objects can be implemented using CLOS. These visualizations techniques require no source code modifications of application systems. We demons...
Lisp - Almost a whole Truth!
, 1989
"... Lisp is well known for its metacircular definitions. They differ by their intent (what they want to prove), their means (what linguistic features are allowed for the definition) and by their scope (what linguistic features are described). This paper provides a new metacircular definition for a compl ..."
Abstract
- Add to MetaCart
Lisp is well known for its metacircular definitions. They differ by their intent (what they want to prove), their means (what linguistic features are allowed for the definition) and by their scope (what linguistic features are described). This paper provides a new metacircular definition for a complete Lisp system including traditionally neglected features such as cons, read, print and error. The programming style adopted for this interpreter is inspired both by denotational semantics and its continuation passing style (to explain continuation handling) and by the object oriented paradigm as highlighted by typedriven generic functions. The resulting interpreter lessens the number of primitives it uses to only eight: car, cdr, rplaca, rplacd, eq, read-char, write-char and end, while still providing Scheme-like essential capabilities (less arithmetic). The overall size is near 500 lines of fully encapsulated code that, if efficiency is not the main requirement, can be easily turned into...

