Event image

Abstract: 

Grace is a new object-oriented language that is designed for teaching novices.  As a result, the design is based on a small number of simple (syntactically and semantically) constructs to provide a flexible and expressive language.  Core features include object expressions and first-class closures, with classes provided as syntactic sugar.  Building on this base, we were able to design features including pattern matching, a simple but effective module structure, and the infrastructure for supporting pedagogical dialects.

The language features a structural, rather than nominal, type system, providing a clearer separation between interface and implementation.  Grace also has a gradual type system, allowing a mix of dynamic and static typing.  These features turned out to be relatively easy to integrate in the language design, and provide a clean and simple language that we will begin class testing in the fall.  Somewhat surprisingly, the more challenging bits of the language turned out to be those related to inheritance from objects and object initialization in the presence of inheritance.

In this talk, I will present a brief description of Grace features and then spend some time on these more challenging parts of the language definition.

Bio:

Kim B. Bruce has been Reuben C. and Eleanor Winslow Professor of Computer Science at Pomona College since the summer of 2005. He is the Frederick Latimer Wells Professor of Computer Science emeritus at Williams College, where he taught for 28 years He has also served as a visiting professor or scientist at the University of California at Santa Cruz, Princeton University, the Newton Institute at Cambridge University, the Ecole Normale Superieure in Paris, Stanford University, University of Pisa, and M.I.T. He has served as a consultant for Prime Computer, Digital Equipment Company (DEC), NEC Research Institute, and EcoNovo.  

His research program was originally in the model theory of languages with generalized quantifiers, but his interests turned to programming languages after his stay at M.I.T. Recently a grant from the Mellon Foundation (via Williams College) allowed him to study the formal linguistics of natural languages during 2004-2005 at U.C. Santa Cruz. This has lead to a new research program in the semantics and pragmatics of natural languages. Bruce has a long-standing interest in Computer Science education, especially at small high quality liberal arts colleges. He played a major role in setting up the Computer Science major at Williams College and was the founding chair of the Computer Science Department there. He came to Pomona in order to help found the Computer Science Department.

Bruce’s Erdos number is less than or equal to 3 via joint papers with H. J. Keisler and with Albert Meyer. Alfred Tarski is his academic grandparent.