scispace - formally typeset
Search or ask a question

Showing papers on "Multiple dispatch published in 2010"


Patent
David Sun1, Kwok W. Cheung2
02 Jul 2010
TL;DR: In this article, the authors present a comprehensive, synchronized and harmonized view of scheduling data to at least one of, applications, power grid system operators and other stakeholders for power grid systems operations.
Abstract: A system tool provides dispatchers in power grid control centers with a capability to manage changes. A user interface and a plurality of scheduler engines are provided. A comprehensive operating plan has multiple dispatch engines that are security constrained unit commitments and economic dispatch sequences with different look-ahead periods. The comprehensive operating plan is configured to integrate the dispatch engines into a unified scheduling system. The comprehensive operating plan has a data structure for capturing scheduling data, transaction scheduling, load forecast and time series data. The comprehensive operating plan is configured to coordinate scheduling data to and from power grid system applications and present a comprehensive, synchronized and harmonized view of scheduling data to at least one of, applications, power grid system operators and other stakeholders for power grid system operations.

8 citations


Proceedings ArticleDOI
19 Oct 2010
TL;DR: Dylan is extended with function types and parametric polymorphism with a unification-based type inference algorithm in the mainstream Dylan compiler and some previously undiscovered errors in the Dylan library were revealed.
Abstract: Whereas dynamic typing enables rapid prototyping and easy experimentation, static typing provides early error detection and better compile time optimization. Gradual typing [26] provides the best of both worlds. This paper shows how to define and implement gradual typing in Dylan, traditionally a dynamically typed language. Dylan poses several special challenges for gradual typing, such as multiple return values, variable-arity methods and generic functions (multiple dispatch).In this paper Dylan is extended with function types and parametric polymorphism. We implemented the type system and aunification-based type inference algorithm in the mainstream Dylan compiler. As case study we use the Dylan standard library (roughly 32000 lines of code), which witnesses that the implementation generates faster code with fewer errors. Some previously undiscovered errors in the Dylan library were revealed.

7 citations


Journal ArticleDOI
TL;DR: This work presents the rationale, design, implementation, performance, programming guidelines, and experiences of working with a language feature, called open multi-methods, for C++, and describes a model implementation that is simpler to use, catches more user mistakes, and resolves more ambiguities through link-time analysis.

7 citations


Book ChapterDOI
09 Aug 2010
TL;DR: This work develops a preprocessor to simulate the RTTI technique and discusses the issues associated with code-reuse and encapsulating multimethods in single dispatch languages.
Abstract: Commonly used object-oriented languages like C++, Java and C# are single dispatch languages and do not support multiple polymorphic arguments in message dispatch. In this work, we demonstrate simulation of multimethods in single dispatch languages without any change in the language syntax. For realization of multimethods, we use double dispatching (dispatching on each argument in turn), message dispatching using runtime type information (RTTI) (adding multimethod dispatch routine), and reflection (using metadata). We develop a preprocessor to simulate the RTTI technique. We discuss the issues associated with code-reuse and encapsulating multimethods in single dispatch languages.

3 citations


Journal ArticleDOI
TL;DR: 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, and describes this design and shows how its restrictions on overloaded declarations prevent ambiguous calls due to coercion.

2 citations


Journal ArticleDOI
01 Nov 2010
TL;DR: The traversal is an adaptive, higher-order function that employs an asymmetric type-based multiple dispatch to fold over arbitrarily complex structures, showing that this flexible, adaptive approach to generic programming using function sets is both useful and safe.
Abstract: Writing functions over complex user-defined datatypes can be tedious and error prone. Generic (or polytypic) programming and higher order functions like foldr have resolved some of these issues, but can be too general to be practically useful for larger collections of data types. In this paper we present a traversal-based approach to generic programming using function sets. Our traversal is an adaptive, higher-order function that employs an asymmetric type-based multiple dispatch to fold over arbitrarily complex structures. We introduce our approach in the context of our Scheme library implementation, present a typed model of our system, and provide a proof of type soundness, showing that our flexible, adaptive approach is both useful and safe.

1 citations