50 citations found. Retrieving documents...
C. Chambers and the Cecil Group. The Cecil language specification and rationale. Technical report, Department of Computer Science and Engineering, University of Washington, February 2004.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

On Reconciling Objects, Components, and Efficiency in.. - Fröhlich, Gal, Franz (2002)   (Correct)

....sections as part of our arguments. In this section, we discuss a broader range of related developments to place our work into a larger context. 5. 1 Language Mechanisms Stand alone messages can be related to the concept of multimethods [2] In a language supporting multimethods, such as Cecil [5], stand alone messages could be emulated by introducing an additional dispatch parameter modeling the originating module. Despite recent progress regarding type safety and modularity of multimethods [32] the concept is not yet supported in mainstream languages. Stand alone messages are ....

Craig Chambers. The Cecil language: Specification and rationale. Technical report, Department of Computer Science and Engineering, University of Washington, Box 352350, Seattle, WA 98195-2350, USA, March 1997. http://www.cs.washington.edu/research/projects/cecil/.


Dynamic Alias Protection in Prototype-Based Languages - Noble, Clarke, Potter (1998)   (Correct)

....List depend on its arguments) In order for this rule to be practical, a prototype based language needs to be able to express idempotent computations easily. For example, the language could incorporate purely functional constant expressions, singleassignment (once) slots in objects (as in Cecil [7]) and one way message sends which return absolutely no information to their sender. 2.3 Reference Rule The mutability rule prevents the mutable state of an object s representation from begin accessed outside that object, but it does not strictly prevent representation exposure. Any immutable ....

Craig Chambers. The Cecil language: Specificaion and rationale. Technical report, Department of Computer Science and Engineering, The University of Washington, 1997.


Object Ownership for Dynamic Alias Protection - Noble, Clarke, Potter (1999)   (Correct)

....immutable message returns. In order for this rule to be practical, a programming language needs to be able to express idempotent computations easily. For example, the language could incorporate purely functional constant expressions and single assignment (once) slots in objects (as in Cecil [7]) 2.2.4: One Way Messages In a one way message send, no information may flow back from the receiver to the sender of the message. This means that one way messages may not return results or, rather, that if the methods called by the messages return results, that these results should not be ....

Craig Chambers. The Cecil language: Specificaion and rationale. Technical report, Department of Computer Science and Engineering, The University of Washington, 1997.


A Framework for Defining Object-Calculi - Lang, Lescanne, Liquori (1999)   (2 citations)  (Correct)

....[22] Obliq [6] Kevo [19] Cecil 1 The terminology functional and imperative seems to be more or less classical in the scientific object oriented community. However, we could use calculi of non mutable (resp. mutable) objects as synonymous for functional (resp. imperative) calculi. 2 [7], O f1,2,3g [1] or simply as a way to implement the more traditional class based languages. In object based languages there is no notion of class: the inheritance takes place at the object level. Objects are built from scratch or by inheriting the methods and fields from other objects ....

C. Chambers. The Cecil language specification, and rationale. Technical Report 93-03-05, University of Washington, Department of Computer Science and Engineering, 1993.


A Generic Object-Calculus Based on Addressed Term.. - Dougherty, Lang.. (2001)   (Correct)

....encapsulated in an object) 1. 2 Object based Languages Recent years have seen the development of object based languages (see [AC96] Chapter 4) Object based languages can be either viewed as a novel object oriented style of programming (such as in Self [US87] Obliq [Car95] Kevo [Tai92] Cecil [Cha93] and O f1,2,3g [AC96] In object based languages there is no notion of class: the inheritance takes place at the object level. Objects are built from scratch or by inheriting the methods and elds from other objects (sometimes called prototypes) Two classical problems we nd in the ....

C. Chambers. The Cecil language specication, and rationale. Technical Report 93-03-05, Department of Computer Science and Engineering, University of Washington, USA, 1993.


Thesis Proposal: Formal Verification Of Program Correctness For.. - Tang   (Correct)

....languages. It appears that class based languages are more established in industry than their object based counterparts. However, it is noted that object based languages are used particularly in the area of artificial intelligence. Examples of object based languages are Emerald[32] Cecil[8] and Omega[6, 7] 6 3 A survey of formal verification methods Here we present a survey of existing work on formal verification methods. 3.1 Hoare logic We start our survey by considering Hoare Logic[12] perhaps the most wellknown verification formalism for non OO languages, and the formalism ....

Craig Chambers. The Cecil language. Technical Report 93-03-05, Department of Computer Science and Engineering, University of Washington, March 1993.


Wide Classes - Serrano (1999)   (12 citations)  (Correct)

....important property of widening is that a program that does not use widening does not pay any extra cost for that construction. This is not true for change class nor become: as they impact the whole run time design. 6. 2 Class predicates and instance classi cation The programming language Cecil [2] extends traditional object oriented languages with Predicate classes [3] Wide classes may look like predicate classes because a predicate class is also designed to reify transient states or behavior modes of objects. A predicate class is a class extended with one predicate. An object belongs to ....

C. Chambers. The Cecil Language: Specication and Rationale. Technical Report 93-03-05, University of Washington, Department of computer Science and Engineering, March 1993.


Software and Hardware Techniques for Efficient Polymorphic Calls - Driesen (1999)   (2 citations)  (Correct)

....dependent. Pang, Holst, Leontiev, and Szafron [108] apply row displacement on multi dimensional dispatch tables generated by multiple dispatch. They show on the Cecil class library that multiple row displacement is faster and uses less space than the aforementioned techniques. Chambers and Chen [21] build a Directed Acyclic Graph (DAG) for each multiple dispatch, and prune unreachable paths from this DAG using static information such as type declarations and class hierarchy analysis. In [20] they unify a number of the above techniques (see the discussion in Section 2.3.4) and demonstrate, ....

Craig Chambers and Weimin Chen. Efficient Predicate Dispatching. Technical Report UWCSE -98-12-02, Department of Computer Science and Engineering, University of Washington.


Concurrent Object-Oriented Programming on Large Scaled SHARED.. - Ganguly (1998)   (Correct)

....standpoint, they have been perceived as inefficient. Intuitively, this perception stems from the basic premise that abstraction and the creation of interfaces, while providing modularity, add overhead in many common cases thus handicapping performance. Recent compiler technology advances [6] have found ways to analyze object based code, breaking down the user abstractions to generate efficient code. A Concurrent Object Oriented Programing (COOP) 1] model distributes objects among processing elements and has support for distributing method invocations to generate parallelism. In the ....

Craig Chambers. The Cecil language: Specification and rationale, version 2.0. Technical report, Department of Computer Science and Engineering, University of Washington, Seattle, Washington, March 1995.


A Generic Object-Calculus Based on Addressed Term.. - Dougherty, Lang.. (1999)   (Correct)

....to the notion of sharing. 1. 2 Object Based Calculi Recent years have seen the development of the object based languages (see [AC96] Chapter 4) Object based languages can be either viewed as a novel object oriented style of programming (such as in Self [US87] Obliq [Car95] Kevo [Tai92] Cecil [Cha93] O f1,2,3g [AC96] In object based languages there is no notion of class: the inheritance takes place at the object level. Objects are built from scratch or by inheriting the methods and elds from other objects (sometimes called prototypes) Among the proposals rmly setting the theoretical ....

C. Chambers. The Cecil language specication, and rationale. Technical Report 93-03-05, Department of Computer Science and Engineering, University of Washington, USA, 1993.


Type Dispatch for Named Hierarchical Types - Glew (1999)   (15 citations)  (Correct)

....not formalise it. This paper formalises a tagging language, which contains a similar construct. The tagging language explains class cast and class constructs, ML style exceptions, and hierarchical extensible sums, and could be used in a typed compilation of multidispatch languages such as Cecil [Cha97] This paper also formalises a translation of the tagging language into a variant of the typed lambda calculus with some additional typing machinery. Like Crary, Weirich, and Morrisett, I use a type erasure interpretation, and the both the tagging and target languages are eraseable. 1 ....

....Reppy and Fisher are incorporating a form of hierarchical extensible sums in the language Moby [FR99] a research vehicle for ML2000. Multimethods: Java has single dispatch: Methods can be thought of as functions that are specialised on their first argument s class. Multimethods (c.f. Cecil [Cha97] are a generalisation of this paradigm: A multimethod is a function that is specialised on any, possibly all, of its arguments classes. Implementing multimethods requires calling specialised code after determining which specialisation applies. The latter could be implemented by comparing the ....

Craig Chambers. The Cecil language, specification and rationale. Technical report, Department of Computer Science and Engineering, University of Washington, Box 352350, Seattle, Washington 98195-2350, USA, March 1997.


Type Dispatch for Named Hierarchical Types - Glew (1999)   (15 citations)  (Correct)

.... I will define handles both features mentioned above, and is quite general: It explains class cast and class case constructs in object oriented languages, ML style exceptions, and hierarchical extensible sums, and could be used in a typed compilation of multidispatch languages such as Cecil [Cha97] Languages with type dispatch pose another problem. Consider compiling type dispatch to Typed Assembly Language [MWCG98, MCG 99] Since TAL does not have type dispatch primitives, the compiler writer has to design data structures and algorithms to use these data structures to perform type ....

....Hierarchical extensible sum types are being considered for ML2000, and appear in the language Moby [FR99] a research vehicle for ML2000. Multimethods: Java has single dispatch: Methods can be thought of as functions that are specialised on their first argument s class. Multimethods (c.f. Cecil [Cha97] are a generalisation of this paradigm: A multimethod is a function that is specialised on any, possibly all, of its arguments classes. Implementing multimethods requires calling specialised 3 let F ailure = newtag(string) in exception F ailure of string let ep1 = tagged(#F ....

Craig Chambers. The Cecil language, specification and rationale. Technical report, Department of Computer Science and Engineering, University of Washington, Box 352350, Seattle, Washington 98195-2350, USA, March 1997.


Constraint-Based Polymorphism in Cecil: Towards a Practical and.. - Litvinov (1998)   (7 citations)  (Correct)

....and first class functions; 2 . it provides automatic inference of type parameters and syntactic sugars to increase convenience for practical use; and . it typechecks code only once, not for each use or in each subclass. We have implemented this type system in the Cecil language [Chambers 92, Chambers 93a] We have used it to successfully typecheck a 100,000 line Cecil program, the Vortex optimizing compiler system [Dean et al. 96] One outcome of this experiment is a collection of typechecking situations which we observed frequently throughout the program and which could not be typechecked ....

Craig Chambers. The Cecil Language: Specification and Rationale. Technical Report UW-CSE-93-03-05, Department of Computer Science and Engineering. University of Washington, March 1993.


Supporting Software Composition at the Programming-Language.. - Franz, Fröhlich, Gal (2003)   Self-citation (Language)   (Correct)

No context found.

C. Chambers, The Cecil language: Specification and rationale, Tech. rep., Department of Computer Science and Engineering, University of Washington, Box 352350, Seattle, WA 98195-2350, USA (Mar. 1997).


Supporting Software Composition at the Programming-Language.. - Franz, Fröhlich, Gal   Self-citation (Language)   (Correct)

No context found.

C. Chambers, The Cecil language: Specification and rationale, Tech. rep., Department of Computer Science and Engineering, University of Washington, Box 352350, Seattle, WA 98195-2350, USA (Mar. 1997).


Composing Dataflow Analyses and Transformations - Lerner, Grove, Chambers (2001)   (3 citations)  Self-citation (Chambers)   (Correct)

....folding, and the sub graph generated by CSE) 7. EXPERIMENTAL RESULTS In this section we provide experimental results showing that our approach for communication between analyses is useful in practice. We have collected performance numbers for the Vortex compiler [13] using several Cecil [5] benchmarks. The individual analyses under consideration are: Edges are never removed by the transformation function T . When a node is replaced by an empty subgraph, the adjacent edges are disconnected from the node, but remain in the graph. As a result edges in the original graph are ....

Craig Chambers. The Cecil language: Specification and rationale. Technical Report UW-CSE-93-03-05, Department of Computer Science and Engineering. University of Washington, March 1993.


Developments in Object-Oriented Type Systems - Schwartzbach (1994)   (5 citations)  Self-citation (Language)   (Correct)

.... in [69, 102, 59, 74, 105, 55, 104] Slide 88 94 Class inference is developed in [101, 45, 79, 76, 4] Slide 96 ML modules are described in [67, 106] Slide 97 Approaches to genericity are discussed in [63, 49, 61, 73, 83] Annotated Bibliography 104 Slide 98 Multi methods are presented in [53, 72, 24, 25]. Slide 99 The Self language is described in [108, 26, 27, 28, 48, 3] ....

Craig Chambers. The cecil language -- specification and rationale. Technical Report 93--03--05, Department of Computer Science and Engineering, University of Washington, 1993.


Synergies Between Object-Oriented Programming Language Design.. - Chambers (1996)   (1 citation)  Self-citation (Chambers Language)   (Correct)

....which to design more expressive languages with less fear of poor performance. In this paper we will relate some of our own experiences in conducting interacting language design and implementation research. We will begin with our work on the design of the Cecil programming language [Chambers 92, Chambers 93a, Chambers 93b, Chambers Leavens 94] highlighting the main language design principles and explaining how they led to the resulting design. We will then describe how this design virtually demanded the development of a collection of new implementation techniques. After surveying these techniques ....

Craig Chambers. The Cecil Language: Specification and Rationale. Technical report #93-03-05, Department of Computer Science and Engineering, University of Washington, March 1993.


Vortex: An Optimizing Compiler for Object-Oriented.. - Dean, DeFouw, Grove.. (1996)   (68 citations)  Self-citation (Chambers)   (Correct)

.... Ungar 90, Plevyak Chien 94, Agesen Hlzle 95] class hierarchy analysis [Dean et al. 95b] and profile guided receiver class prediction [Hlzle Ungar 94, Grove et al. 95] can greatly improve the performance of dynamically typed, purely object oriented languages such as Cecil [Chambers 92, Chambers 93] Self [Ungar Smith 87] and Concurrent Aggregates [Chien 93] These techniques have been highly effective in this context, since message sends are ubiquitous and expensive; even the most primitive operations in these languages are implemented via user defined methods and dynamic dispatching. ....

....Vortex treats the inheritance graph as a partial order, choosing the most specific match according to the partial order and reporting an ambiguity otherwise. This partial ordering implements the simple rule that children override parents, which was derived from the Cecil language semantics [Chambers 93] This can accommodate a wide range of languages whose semantics either match these or that have static typechecking rules that are more restrictive. For example, C has a stricter treatment of ambiguities, but C s static typechecker ensures that no programs with ambiguities according to C s ....

Craig Chambers. The Cecil Language: Specification and Rationale. Technical Report TR-93-03-05, Department of Computer Science and Engineering. University of Washington, March 1993.


Profile-Guided Receiver Class Prediction - Grove, Dean, Garrett, Chambers (1995)   (55 citations)  Self-citation (Chambers)   (Correct)

....of different granularities and describe implementation techniques for gathering off line profile data and manipulating it internally within a compiler. In sections 3 and 4 we report that profiles of programs in C (a hybrid singly dispatched statically typed object oriented language) and Cecil [Chambers 93] a pure multiply dispatched dynamically typed object oriented language) are strongly peaked and stable across inputs and even program versions. In section 5 we report that profile guided receiver class prediction doubles the performance of large Cecil programs. Section 6 summarizes related ....

Craig Chambers. The Cecil Language: Specification and Rationale. Technical Report TR-93-03-05, Department of Computer Science and Engineering. University of Washington, March 1993.


The Cecil Language - Specification and Rationale - Version 3.0 - Chambers (1995)   (12 citations)  Self-citation (Chambers Language Rationale)   (Correct)

....modules, and mixed static and dynamic type checking. Cecil was inspired initially by Self [Ungar Smith 87, Hlzle et al. 91a] CLOS [Bobrow et al. 88, Gabriel et al. 91] and Trellis [Schaffert et al. 85, Schaffert et al. 86] The current version of Cecil extends the earlier version [Chambers 93a] with predicate objects, modules, and efficient typechecking algorithms. 1.1 Design Goals and Major Features Cecil s design results from several goals: Maximize the programmer s ability to develop software quickly and to reuse and modify existing software easily. In response to this goal, ....

Craig Chambers. The Cecil Language: Specification and Rationale. Technical report #9303 -05, Department of Computer Science and Engineering, University of Washington, March, 1993.


Predicate Classes - Chambers (1993)   (74 citations)  Self-citation (Chambers)   (Correct)

....these transient states are important in the application domain, predicate classes can help in modelling and implementing them. Predicate classes are a relatively language independent idea. For concreteness, however, we have been exploring them in the context of the Cecil language [Chambers 92b, Chambers 93] The next section of this paper presents a brief overview of Cecil. Section 3 then describes in more detail the semantics of predicate classes as included in Cecil, and section 4 presents several examples of predicate objects at work. Section 5 discusses related work. 2 2 Cecil Cecil is a ....

....x, tail : l method print(c collection) print( do(c, elem) print( t ) print(elem) print( n ) print( The constructs in this example are explained briefly in the following subsections. More information on the Cecil language is available in other papers [Chambers 92b, Chambers 93] 2.1 Objects Cecil is classless, associating methods directly with objects and allowing objects to inherit directly from other objects. In general, new named objects (akin to classes or one of a kind global objects) are created using the general form: object name isa parent 1 , parent n ....

Craig Chambers. The Cecil Language: Specification and Rationale. Technical report #93-03-05, Department of Computer Science and Engineering, University of Washington, March, 1993.


Modular Pluggable Analyses for Data Structure Consistency - Kuncak, Lam, Zee, Rinard   (Correct)

No context found.

C. Chambers and the Cecil Group. The Cecil language specification and rationale. Technical report, Department of Computer Science and Engineering, University of Washington, February 2004.


Effective Interprocedural Optimization of Object-Oriented Languages - Grove (1998)   (5 citations)  (Correct)

No context found.

Craig Chambers. The Cecil Language: Specification and Rationale. Technical Report UW-CSE-93-03-05, Department of Computer Science and Engineering. University of Washington, March 1993.


Type Dispatch for Named Hierarchical Types - Neal Glew Cornell (1999)   (15 citations)  (Correct)

No context found.

Craig Chambers. The Cecil language, specification and rationale. Technical report, Department of Computer Science and Engineering, University of Washington, Box 352350, Seattle, Washington 98195-2350, USA, March 1997.

First 50 documents

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