A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2004; you can also visit the original URL.
The file type is application/pdf
.
Filters
Modular Statically Typed Multimethods
[chapter]
1999
Lecture Notes in Computer Science
We describe Dubious, a simple core language including first-class generic functions with symmetric multimethods, a classless object model, and modules that can be separately typechecked. ...
We identify two sets of restrictions that ensure modular type safety for Dubious as well as an interesting intermediate point between these two. ...
Acknowledgments Thanks to Gary Leavens for his collaboration on BeCecil, the predecessor to Dubious, and for many discussions about typechecking for multimethods. ...
doi:10.1007/3-540-48743-3_13
fatcat:7wrzbwhpifftxgrelgay3fg6zm
Predicated Generic Functions
[chapter]
2010
Lecture Notes in Computer Science
This paper presents predicated generic functions, a novel programming language abstraction that allows the expression of contextdependent behaviour in a declarative and modular manner, providing fine-grained ...
Methods are guarded by predicates with user-defined orderings, thereby increasing the expressiveness of existing method dispatching approaches. ...
Predicate dispatch offers fine-grained control on method applicability by means of logical predicates. ...
doi:10.1007/978-3-642-14046-4_5
fatcat:4mtriid3knhx3ircbaehlw7jyu
GoHotDraw
2010
Evaluation and Usability of Programming Languages and Tools on - PLATEAU '10
Go, a new programming language backed by Google, has the potential for widespread use: it deserves an evaluation. ...
Embedding has many of the drawbacks of inheritance: it affects the public interface of objects, it is not fine-grained (i.e, no method-level control over embedding), methods of embedded objects cannot ...
Functions and goroutines Go supports functions (methods with no receiver) as well as function pointers and closures. Goroutines are functions that execute in parallel with other goroutines. ...
doi:10.1145/1937117.1937127
fatcat:wy4gkfon3jbdnndn4ogyymqsqy
Modular Statically Typed Multimethods
2002
Information and Computation
We describe Dubious, a simple core language including first-class generic functions with symmetric multimethods, a classless object model, and modules that can be separately typechecked. ...
We identify a spectrum of restrictions that ensure modular type safety for Dubious and have proven one of the associated type systems sound. ...
Acknowledgments Thanks to Gary Leavens for his collaboration on BeCecil, the predecessor to Dubious, and for many discussions about typechecking for multimethods. ...
doi:10.1006/inco.2002.3103
fatcat:oztmp7f7pfg47lsixm24rs6tnm
Optimizing dynamic dispatch with fine-grained state tracking
2010
Proceedings of the 6th symposium on Dynamic languages - DLS '10
In this work we implemented fine-grained state tracking for CRuby 1.9 and were able to improve performance by more than six times on the microbenchmark exercising extreme case, owing 4 times to global ...
method cache clearing, 28% to fine-grained state tracking and further 12% to inline cache miss elimination by caching alternating states. ...
Inline caching with fine-grained state tracking returned. In this way fine-grained state tracking is applied to both method cache and inline caches. ...
doi:10.1145/1869631.1869634
dblp:conf/dls/ZakirovCS10
fatcat:zk6luwhfkjh7pl5e2nwl4qtjwq
MultiJava
2006
ACM Transactions on Programming Languages and Systems
Among other benefits, multiple dispatch provides a solution to the binary method problem. ...
MultiJava is a conservative extension of the Java programming language that adds symmetric multiple dispatch and open classes. ...
ACKNOWLEDGMENTS Thanks to David Cok for his work on the mjdoc documentation tool. ...
doi:10.1145/1133651.1133655
fatcat:sfyn6utgqfajjeen4oinjqj7ma
Optimizing dynamic dispatch with fine-grained state tracking
2010
SIGPLAN notices
In this work we implemented fine-grained state tracking for CRuby 1.9 and were able to improve performance by more than six times on the microbenchmark exercising extreme case, owing 4 times to global ...
method cache clearing, 28% to fine-grained state tracking and further 12% to inline cache miss elimination by caching alternating states. ...
Inline caching with fine-grained state tracking returned. In this way fine-grained state tracking is applied to both method cache and inline caches. ...
doi:10.1145/1899661.1869634
fatcat:fizpkkh7ubbzjb7bvr2dwf5oem
Parameterized Modules for Classes and Extensible Functions
[chapter]
2006
Lecture Notes in Computer Science
F(Eml)'s predecessor, Eml, supported classes and extensible functions with multiple dispatch, but its support for parameterized modules was weak. ...
We present F(Eml), a language that combines classes, extensible functions, symmetric multiple dispatching, and a practical system for parameterized modules. ...
We wish to thank Erik Ernst, Todd Millstein, the University of Washington WASP group, and anonymous reviewers of this work (and its earlier incarnations) for their invaluable feedback and discussions. ...
doi:10.1007/11785477_21
fatcat:fidnbsm3hbf43cwi5alcflir3u
Design and implementation of transactional constructs for C/C++
2008
SIGPLAN notices
The transactional language constructs support C++ language features including classes, inheritance, virtual functions, exception handling, and templates. ...
The runtime library implements multiple execution modes and implements a novel STM algorithm that supports both optimistic and pessimistic concurrency control. ...
In case of multiple inheritance, a derived class inherits the tm callable annotation if at least one of its base classes is annotated with tm callable. ...
doi:10.1145/1449955.1449780
fatcat:tc3nls2iwzdyzcb6pscz6ktrui
Design and implementation of transactional constructs for C/C++
2008
Proceedings of the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications - OOPSLA '08
The transactional language constructs support C++ language features including classes, inheritance, virtual functions, exception handling, and templates. ...
The runtime library implements multiple execution modes and implements a novel STM algorithm that supports both optimistic and pessimistic concurrency control. ...
In case of multiple inheritance, a derived class inherits the tm callable annotation if at least one of its base classes is annotated with tm callable. ...
doi:10.1145/1449764.1449780
dblp:conf/oopsla/NiWABBCGKNOPSTT08
fatcat:cnv2vx5ih5cmtj6s2x4cjzywz4
An application framework for multimedia communication
[chapter]
1992
Lecture Notes in Computer Science
Additionally we define a Service object as a base for multimedia communication between applications and we extend the existing view concept by new standard MediaViews to present and control audio and video ...
Multimedia workstations will not find acceptance unless presented with attractive and easy-touse applications which maintain a consistent user-interface. ...
Fine grain synchronisation (simultaneity) will be dealt with in the context of Services. ...
doi:10.1007/3-540-55639-7_22
fatcat:3bym55dzqbd6hnc6zasrxlbcjq
Reducing Dynamic Dispatch Overhead (DDO) of SLDL-synthesized embedded software
2015
The 20th Asia and South Pacific Design Automation Conference
By replacing virtual functions with direct function calls, the DDO can be totally eliminated allowing for aggressive inlining optimizations by the compiler. ...
This separation allows for a flexible model composition, refinement and explorations. This flexibility, however, requires dynamic dispatch during execution that degrades the simulation performance. ...
In particular, the input and output communication paths (BMP In to JPEG, and JPEG to JPEG Out) are configurable in data granularity with a coarse and fine grained option for each. ...
doi:10.1109/aspdac.2015.7059080
dblp:conf/aspdac/ZhangTS15
fatcat:tjadh4hqizas5lqfaq4witbnfy
Concept-Controlled Polymorphism
[chapter]
2003
Lecture Notes in Computer Science
Second, concepts can be used to provide fine-grained control of function and operator overloading. ...
This paper proposes a general framework for using concepts to control polymorphism in different ways. ...
Acknowledgments We are grateful to Howard Hinnant, Jeremy Siek, and Mat Marcus for their valuable comments and help on this work. ...
doi:10.1007/978-3-540-39815-8_14
fatcat:6lsljjz76fdfxfkmefrwh5lmlq
Object-oriented composition untangled
2001
SIGPLAN notices
Object-oriented languages come with pre-defined composition mechanisms, such as inheritance, object composition, or delegation, each characterized by a certain set of composition properties, which do not ...
In this paper, we propose compound references, a new abstraction for object references, that allows us to provide explicit linguistic means for expressing and combining individual composition properties ...
The main focus in Jigsaw is on fine-grain control over the visibility of the features from the individual modules in a composition, to allow mixins, multiple inheritance, encapsulation, and strong typing ...
doi:10.1145/504311.504303
fatcat:ncr5fddjqrcs3kc7ex7ol27q7a
Object-oriented composition untangled
2001
Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications - OOPSLA '01
Object-oriented languages come with pre-defined composition mechanisms, such as inheritance, object composition, or delegation, each characterized by a certain set of composition properties, which do not ...
In this paper, we propose compound references, a new abstraction for object references, that allows us to provide explicit linguistic means for expressing and combining individual composition properties ...
The main focus in Jigsaw is on fine-grain control over the visibility of the features from the individual modules in a composition, to allow mixins, multiple inheritance, encapsulation, and strong typing ...
doi:10.1145/504282.504303
dblp:conf/oopsla/OstermannM01
fatcat:qm6ztl25pnbqhjzcdxa6g72awi
« Previous
Showing results 1 — 15 out of 2,725 results