Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Guy L. Steele is active.

Publication


Featured researches published by Guy L. Steele.


conference on object-oriented programming systems, languages, and applications | 1998

Growing a language

Guy L. Steele

Most of the time, I do not read my talks; I plan the main points and then speak off the top of my head. For this talk, I need to stick to a text, and for good cause. Please bear with me. I think you know what a man is. A woman is more or less like a man, but not of the same sex. (This may seem like a strange thing for me to start with, but soon you will see why.) Next, I shall say that a person is a woman or a man (young or old). To keep things short, when I say “he” I mean “he or she,” and when I say “his” I mean “his or her.” A machine is a thing that can do a task with no help, or not much help, from a person. (As a rule, we can speak of two or more of a thing if we add an “s” or “z” sound to the end of a word that names it.)


international conference on parallel architectures and compilation techniques | 2005

Parallel programming and parallel abstractions in Fortress

Guy L. Steele

Summary form only given. The Programming Language Research Group at Sun Microsystems Laboratories seeks to apply lessons learned from the Java (TM) programming language to the next generation of programming languages. The Java language supports platform-independent parallel programming with explicit multithreading and explicit locks. As part of the DARPA program for High Productivity Computing Systems, we are developing Fortress, a language intended to support large-scale scientific computation. One of the design principles is that parallelism be encouraged everywhere (for example, it is intentionally just a little bit harder to write a sequential loop than a parallel loop). Another is to have fairly rich mechanisms for encapsulation and abstraction; the idea is to have a fairly complicated language for library writers that enable them to write libraries that present a relatively simple set of interfaces to the application programmer. We will discuss ideas for using a rich polymorphic type system to organize multithreading and data distribution on large parallel machines. The net result is similar in some ways to data distribution facilities in other languages such as HPF and Chapel, but more open-ended, because in Fortress the facilities are defined by user-replaceable libraries rather than wired into the compiler.


Science of Computer Programming | 2010

Integrating coercion with subtyping and multiple dispatch

Joe Hallett; Victor Luchangco; Sukyoung Ryu; Guy L. Steele

Coercion can greatly improve the readability of programs, especially in arithmetic expressions. However, coercion interacts with other features of programming languages, particularly subtyping and overloaded functions and operators, in ways that can produce surprising behavior. We study examples of such surprising behavior in existing languages. This study informs the design of the coercion mechanism of Fortress, an object-oriented language with multiple dynamic dispatch, multiple inheritance and user-defined coercion. We describe this design and show how its restrictions on overloaded declarations prevent ambiguous calls due to coercion.


conference on object oriented programming systems languages and applications | 2007

Celebrating 40 years of language evolution: simula 67 to the present and beyond

Steven Fraser; James A. Gosling; Anders Hejlsberg; Ole Lehrmann Madsen; Bertrand Meyer; Guy L. Steele

Simula 67 (SIMple Universal LAnguage 67) is considered by many as one of the earliest - if not the first - object-oriented language. Simula 67 was developed by Ole-Johan Dahl and Kristen Nygaard in Oslo, Norway and has greatly influenced object-oriented language development over the past 40 years. This panel brings together leading programming language innovators to discuss and debate past, present, and future language evolutions.


Archive | 2000

The Java Language Specification - Second Edition

James A. Gosling; Bill Joy; Guy L. Steele; Gilad Bracha


Archive | 2001

Lock-free implementation of concurrent shared object with dynamic node allocation and distinguishing pointer value

Guy L. Steele; Alexander T. Garthwaite; Paul A. Martin; Nir Shavit; Mark Moir; David L. Detlefs


Archive | 1998

Bounded-pause time garbage collection system and method including write barrier associated with a source instance of a partially relocated object

Marc Tremblay; James Michael O'Connor; Guy L. Steele; Sanjay Vishin; Ole Agesen; Steven K. Heller; Derek R. White


Archive | 1996

Massively parallel computer including auxiliary vector processor

Jon P. Wade; Daniel R. Cassiday; Robert D. Lordi; Guy L. Steele; Margaret A. St. Pierre; Monica C. Wong-Chan; Zahi S. Abuhamdeh; David C. Douglas; Mahesh N. Ganmukhi; Jeffrey V. Hill; W. Daniel Hillis; Scott J. Smith; Shaw-Wen Yang; Robert C. Zak


Archive | 2000

Java Language Specification, Second Edition: The Java Series

James A. Gosling; Bill Joy; Guy L. Steele; Gilad Bracha


Archive | 1998

Bounded-pause time garbage collection system and method including write barrier associated with source and target instances of a partially relocated object

Marc Tremblay; James Michael O'Connor; Guy L. Steele; Sanjay Vishin; Ole Agesen; Steven K. Heller; Derek R. White

Collaboration


Dive into the Guy L. Steele's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Nir Shavit

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge