21 citations found. Retrieving documents...
S. M. Omohundro. The Sather Programming Language. Dr. Dobb's Journal, 18(11), 1993.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Automatic Detection of Immutable Fields in Java - Porat, Biberstein, Koved.. (2000)   (4 citations)  (Correct)

....the const speci er can be applied to variables, objects, arrays and methods, and implies logical and physical const ness. This enforcement is discussed in the context of program design in [23] In some languages, immutability of types and or variables is part of the language. For example, Sather [28] and ML [26] allow types to be de ned as immutable so as to facilitate stack allocation of objects and more effective garbage collection in the realm of multithreaded environments [11, 12] ML de nes also immutable variables, so that the isolation concerns are addressed as well. Similar isolation ....

S.M. Omohundro. The Sather programming language. Dr. Dobb's Journal, 18(11), October 1993.


A New Type-Constructor for Modular Languages - Gough (1997)   (Correct)

....We call this the syntactic concern. Furthermore, in the absence of some kind of parametric polymorphism, a separate encapsulation is required for each array element type. Some other languages provide support for dynamically allocated arrays, and even for dynamically resizeable arrays. Sather[10] provides for such arrays, and indeed the use of such arrays to implement standard data structures as lists and stacks is an idiom of that language. Java[1] also has support for dynamic arrays. 1.4 Dynamic arrays in Java In Java all arrays are dynamically allocated, and the language definition ....

Steven Omohundro. The Sather programming language. Technical report, ICSI, Berkley, California, 1994.


Behavioural Abstraction and Composition for User Interface.. - Wilkinson (1998)   (1 citation)  (Correct)

....that a program can use objects of type Stack[Int] to store integers, or the unbound type Stack to store objects of any type [Winterbottom1994] Appropriate code is generated from the single generic declaration of Stack. 40 2.2.6. The Sather Programming Language The Sather programming language [Omohundro1993] is a research project of the International Computer Science Institute (ICSI) at the University of California at Berkeley. It has a similar syntax to the Eiffel programming language [Meyer1992] but its type and class system is substantially different from that of Eiffel, and from that of C . ....

Stephen Omohundro, "The Sather Programming Language", Dr. Dobb's Journal, Vol. 18, No. 11, pp. 42-48, October 1993. Available from http:// www.icsi.berkeley.edu/sather/Publications/ article.html


Sather 1.0 Tutorial - Philippsen (1994)   (Correct)

....for more information. The current language specification is published in [10] This document can be found next to the code on the ftp server mentioned above. Obviously the file is called manual.ps. Sather s general design and the differences from Eiffel have been presented in [6, 7, 8, 9]. The type system is presented in depth in [13] Moreover, ICSI technical papers report on other specific issues, see [2, 4, 11, 13] 1 Sather has been analyzed from an external point of view. Comments and comparisons can be found in [1, 3, 12] 1.3 Related Work: Sather K Although we know a ....

....white pieces 17 whitepieces : #(16) 18 position.pos : a2 ; 19 loop i: 0. upto (7) 20 whitepieces[i] #PAWN(position,PIECE: white) 21 position.pos : position.east; 22 end; 23 position.pos : a1 ; whitepieces[8] #ROOK(position,PIECE: white) 24 position.pos : b1 ; whitepieces[9] : #KNIGHT(position,PIECE: white) 25 position.pos : c1 ; whitepieces[10] #BISHOP(position,PIECE: white) 26 position.pos : d1 ; whitepieces[11] #QUEEN(position,PIECE: white) 27 position.pos : e1 ; whitepieces[12] #KING(position,PIECE: white) 28 position.pos : f1 ; ....

[Article contains additional citation context not shown here]

Stephen M. Omohundro. The Sather programming language. Dr. Dobb's Journal, 18(11):42--48, October 1993.


Unifying Genericity: Combining the Benefits of Virtual Types .. - Thorup, Torgersen (1999)   (10 citations)  (Correct)

....Classes In his often quoted paper [Mey86] Bertrand Meyer presents parameterized classes as a programming language mechanism in Ei el which combines the bene ts of polymorphism, as in ML, and those of inheritance. Several other programming languages, including CLU [LSAS77] C [ES90] and Sather [Omo93] implement similar features. Most recently several such proposals have come forth for Java [OW97,MBL97,AFM97,BOSW98,CS98] The most basic mechanism, found e.g. in C , is so called unconstrained genericity, in which a parameterized class is described using simple universal quanti cation: ....

Steven Omohundro. The Sather programming language. Dr. Dobb's Journal, 18(11), October 1993.


A Software Engineering Perspective on Algorithmics - Weihe (1999)   (2 citations)  (Correct)

....an algorithm on directed graphs may be applied to a real directed graph of type DG or to an undirected viewed as directed graph of type DGV , and vice versa. For instance, this design principle is reflected by the various graph types in the standard library for the Sather programming language [O93]. 23 To give a concrete example: there is a graph view type which keeps an internal directed graph and provides the same interface as this internal graph. However, this type exchanges the meaning of in going and out going edges of a node: every in going edge in the internal graph is ....

....only a few algorithms may be interpreted as node or edge iterators. For these algorithms, the general goals 5 and 8 from Section 5.2 are achieved; goals 6, 7, and 9 are not addressed and not achieved. Again, this might reduce the value of the other goals. Iteration in Sather Iterators in Sather [O93] (called iteration methods in the following to avoid ambiguities) generalize typical loop constructs in mainstream programming languages [MOSS96] 31 In Sather, iteration methods are specific methods of abstract data types, which are not really subroutines as described in Section B in the ....

Stephen Omohundro. The Sather programming language. Dr. Dobb's Journal, 18(11):42--48, 1993.


A Survey of Concurrent Object-Oriented Programming Languages - Scaife (1996)   (Correct)

....including Sun 4s, Intel iPSC 2, Intel iPSC 860, Silicon Graphics Iris, IBM RS 6000, TMC CM 5 and Intel Paragon. Performance figures for a biological application also look good [51] although there is a lot of inherent parallelism in the application. pSather [44] is a parallel version of Sather [96] which is a reduced and optimised language version of the object oriented language Eiffel [43] pSather is based on concurrent threads and monitors and there is an optional lock status which causes calling threads to block until the monitor is unlocked although there is a try statement to ....

S. M. Omohundro. The Sather Programming Language. Dr. Dobbs Journal, 18(10):68, 1993.


Fair Multi-Branch Locking of Several Locks - Fleiner, Philippsen (1997)   (1 citation)  (Correct)

....work has been done during the authors stay at ICSI, International Computer Science Institute, Berkeley. true. Conditional locks greatly enhance the simplicity and readability of parallel programs and simplify maintenance and reusability. For a formal presentation of the construct we use pSather [10, 13, 8] although other languages would have been equally appropriate. In section 3 we present the basic principles of our implementation and give a formal proof of fairness and absence of starvation. We show that since the basic problems can be solved efficiently by the underlying run time system there ....

S.M. Omohundro. The Sather programming language. Dr. Dobb's Journal, 18(11):42--48, Oct. 1993.


MON: An Object Relationship Model Incorporating Roles.. - Maughan, Durnota (1994)   (3 citations)  (Correct)

....these properties. Assertions form a large part of specifying systems in formal specification languages such as Z (Diller 1991) and Object Z (Duke et al. 1991) They are also appearing as part of the language definition in a number of programming languages such as Eiffel (Meyer 1992) and Sather (Omohundro 1993). However, they are generally restricted to class operations. The MON notation extends assertions so that they are orthogonal over all possible system components. Section 4.2 describes visibility and publicity of system components. In current object modelling notations (and some object oriented ....

Omohundro, S. M. (1993, October). The Sather programming language. Dr. Dobb's Journal 18 (11), 42--48.


Dynamic Dispatch in Object-Oriented Languages - Milton, Schmidt (1994)   (7 citations)  (Correct)

....of efficient dynamic dispatch has been the subject of several papers. For instance Rose [19] compares various low level interrupt based dispatching on stock hardware that makes single dispatch as fast as function calls at the cost of portability. Some implementations such as CLOS [11] and Sather [17, 18, 22] use hashing while others such as C and Eiffel [15] use lookup tables. CLOS calls a generic function which encapsulates the lookup, while most other languages generate special call instructions. Sather and C [27] currently employ very different dynamic dispatching mechanisms. C objects have ....

S. M. Omohundro, The Sather Programming Language. Dr. Dobbs, 10/93, pp. 42--48, 1993 ICSI, Berkeley, 1993.


Is Java ready for computational science? - Philippsen (1998)   (1 citation)  (Correct)

....array indexing or pointer dereferencing, and equality testing are unlikely to be candidates for overloading, although admittedly, there might be some rare situations where this type of overloading actually can improve code quality. For reference types, an approach used in the Sather language [11, 12] seems reasonable. For an infix operator 2 in a class A, the programmer can provide a method that takes a B as an argument and returns a C. The signature looks like C 2 Op(B) Whenever the compiler sees an infix operator 2 between two reference types, e.g. a 2 b, this operator is taken to be ....

S.M. Omohundro. The Sather programming language. Dr. Dobb's Journal, 18(11):42--48, 1993.


The Role of Programming Languages in the Life-Cycle of Safe.. - Szyperski, Gough (1996)   (1 citation)  (Correct)

....using languages that either provide dynamic safety only, only partial static dynamic safety, or no safety at all. Some examples of programming languages in each of the above categories are: ffl Static and Dynamic Safety. Oberon [22] garbage collected versions of Ada 2 , Java [23] Sather [20]. ffl Dynamic Safety Only. Smalltalk [11] Lisp. ffl Partial Static Dynamic Safety. Pascal, Modula 2, and Ada (using explicit deallocation) ffl Unsafe C, C . A whole industry thrives on selling tools to fix the situation, debugging tools that help to uncover errors that should not have been ....

S. Omohundro. The Sather programming language. Dr. Dobbs Journal, 18(11):42--48, October 1993.


Parameterized Types for Java - Myers, Bank, Liskov (1997)   (80 citations)  (Correct)

....are both possible with where clauses. 2.8.3 Parameterized Interfaces To address some weaknesses of interfaces, parameterized interfaces can be used instead. This approach, related to Fbounded polymorphism [CCH 89] is used by some other statically typed programming languages [KLMM94, OL92, Omo93] In these schemes, the contravariance problem is avoided by adding parameters to the constraint interface. For example, the SortedList example would look as follows: interface SortedList[T] where T extends Ordered[T] f . g interface Ordered[X] f boolean lt (X x) boolean equals (X x) ....

....of interfaces that it satisfies. Further, the need for a constraint may only be known later, because new parameterized classes (and constraints) can be added to the system. Existing types cannot be used as parameters because they do not declare their satisfaction of the new constraint. Sather [Omo93] addresses this problem by allowing new subtype declarations to be added to the system at any time. For example, after SortedList Member is written, any users who wish to use SortedList Member[Num] could add the following additional declaration: class Num implements Ordered[Num] This ....

Stephen M. Omohundro. The Sather programming language. Dr. Dobb's Journal, 18(11):42--48, October 1993.


Automated Delegation is a Viable Alternative to Multiple.. - Viega, Tutt, Behrends (1998)   (4 citations)  (Correct)

....and possibly variables from another class. For example, multiple inheritance, as is found in languages like C [Str97] is a subclassing mechanism, as it allows the user to use methods from another class. A subclassing relationship does not imply that type inheritance exists. For example, Sather [Omo93] allows the programmer to use implementations as a kind of code inclusion; the subclassing mechanism does not perform type inheritance under any circumstances. The implementation is unimportant, as long as the user may reuse code. For example, delegation is a form of subclassing, even though ....

....that with multiple inheritance it is much easier to access the current object than it is to access the forwarding object in Transframe. For the same reason, a Transframe style delegation construct is strictly weaker than even code inclusion mechanisms, such as the subclassing mechanism of Sather [Omo93]. Smalltalk style forwarding methods Some languages, including Smalltalk and Objective C provide language level support for message forwarding. If a client tries to invoke a method on object #, and # does not define , then the runtime system will call a particular method in # to ....

S. Omohundro. The Sather Programming Language. Dr. Dobb's Journal (Oct. 1993).


A Supercomputer for Neural Computation - Asanovic, Beck, Feldman, Morgan.. (1994)   (2 citations)  (Correct)

....to obtain the maximum performance, the user needs to study hardware details and write intricate loops in assembler. In our experience, we have found it essential to support a wide range of users. CNS 1 users will work within the general software development environment writing in C, C or Sather [9]. Using calls to hand coded library routines written in assembly language, they will access optimized functions such as matrix vector multiplies. Since all of the code is run on the target neurocomputer, there is no overhead for remote procedure calls between host and neurocomputing engine. For ....

S. Omohundro, The Sather Programming Language, Dr. Dobb's Journal, Volume 18, Issue 11, p. 42, October 1993.


The Sather 1.1 Specification - Stoutamire, Omohundro (1996)   Self-citation (Omohundro)   (Correct)

....Sequent Symmetry, workstations and the CM 5. Sather 1. 0 was a major language change, introducing bound routines, iterators, proper separation of typing and code inclusion, contravariant typing, strongly typed parameterization, exceptions, stronger optional runtime checks and a new library design [6]. The 1.0 compiler was a completely fresh effort by Stephen Omohundro and David Stoutamire. It was written in 0.5 with the 1.0 features introduced as they became functional. The 1.0 compiler was first released in the summer of 1994, and Stephen left the project shortly afterwards. The pSather 1.0 ....

S. Omohundro. "The Sather programming language." Dr. Dobb's Journal, 18 (11) pp. 42-48, October 1993. Available at the Sather WWW page.


Sather 1.1 - Stoutamire, Omohundro (1995)   Self-citation (Omohundro)   (Correct)

....1. 1 September 10, 1995 DRAFT David Stoutamire International Computer Science Institute 1947 Center Street, Suite 600 Berkeley, California 94704 Stephen Omohundro NEC Research Institute, Inc. 4 Independence Way, Princeton, NJ Table of Contents 3 ABOUT SATHER INTRODUCTION 9 The Name . 9 IMPORTANT CONCEPTS 10 Garbage ....

..... 13 USING SATHER 14 Obtaining the compiler . 15 How do I ask questions . 15 HISTORY 16 Acknowledgements . 16 REFERENCES 17 THE SATHER 1.1 SPECIFICATION INTRODUCTION 18 About This Document . 18 Basic Concepts . ....

[Article contains additional citation context not shown here]

S. Omohundro. "The Sather programming language." Dr. Dobb's Journal, 18 (11) pp. 42-48, October 1993. Also available at the Sather WWW page.


Using Mixins to Build a Flexible Lightweight Middleware for.. - Apel, Böhm (2004)   (Correct)

No context found.

S. M. Omohundro. The Sather Programming Language. Dr. Dobb's Journal, 18(11), 1993.


Towards the Development of Ubiquitous Middleware Product Lines - Apel, Böhm (2005)   (Correct)

No context found.

S. M. Omohundro. The Sather Programming Language. Dr. Dobb's Journal, 18(11), 1993.


An Object-Oriented Method for Evolving and Evaluating.. - Avotins (1996)   (Correct)

No context found.

Omohundro, S. (1993). The sather programming language. Dr. Dobb's 18 (11), 42--49.


Universal High Performance Computing - We Have Just Begun - Feldman (1994)   (Correct)

No context found.

S. M. Omohundro, "The Sather Programming Language" Dr. Dobb's Journal, Volume 18, Issue 11, p. 42, (October 1993).

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