Network


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

Hotspot


Dive into the research topics where Sean Parent is active.

Publication


Featured researches published by Sean Parent.


acm symposium on applied computing | 2008

Runtime concepts for the C ++ standard template library

Peter Pirkelbauer; Sean Parent; Mat Marcus; Bjarne Stroustrup

A key benefit of generic programming is its support for producing modules with clean separation. In particular, generic algorithms are written to work with a wide variety of unmodified types. The Runtime concept idiom extends this support by allowing unmodified concrete types to behave in a runtime polymorphic manner. In this paper, we describe one implementation of the runtime concept idiom, in the domain of the C++ standard template library (STL). We describe and measure the performance of runtime-polymorphic analogs of several STL algorithms. We augment the runtime concept idiom by employing a dispatch mechanism that considers both type and concept information to maximize performance when selecting algorithm implementations. We use our implementation to demonstrate the effects of different compile-time vs. run-time algorithm selection choices, and we indicate where improved language and compiler support would be useful.


generative programming and component engineering | 2011

Helping programmers help users

John Freeman; Jaakko Järvi; Wonseok Kim; Mat Marcus; Sean Parent

User interfaces exhibit a wide range of features that are designed to assist users. Interaction with one widget may trigger value changes, disabling, or other behaviors in other widgets. Such automatic behavior may be confusing or disruptive to users. Research literature on user interfaces offers a number of solutions, including interface features for explaining or controlling these behaviors. To help programmers help users, the implementation costs of these features need to be much lower. Ideally, they could be generated for free. This paper shows how several help and control mechanisms can be implemented as algorithms and reused across interfaces, making the cost of their adoption negligible. Specifically, we describe generic help mechanisms for visualizing data flow and explaining command deactivation, and a mechanism for controlling the flow of data. A reusable implementation of these features is enabled by our property model framework, where the data manipulated through a user interface is modeled as a constraint system.


Science of Computer Programming | 2010

Dynamic algorithm selection for runtime concepts

Peter Pirkelbauer; Sean Parent; Mat Marcus; Bjarne Stroustrup

A key benefit of generic programming is its support for producing modules with clean separation. In particular, generic algorithms are written to work with a wide variety of types without requiring modifications to them. The Runtime concept idiom extends this support by allowing unmodified concrete types to behave in a runtime polymorphic manner. In this paper, we describe one implementation of the runtime concept idiom, in the domain of the C++ standard template library (STL). We complement the runtime concept idiom with an algorithm library that considers both type and concept information to maximize performance when selecting algorithm implementations. We present two implementations, one in ISO C++ and one using an experimental language extension. We use our implementations to describe and measure the performance of runtime-polymorphic analogs of several STL algorithms. The tests demonstrate the effects of different compile-time vs. run-time algorithm selection choices.


european conference on object-oriented programming | 2016

One Way to Select Many.

Jaakko Järvi; Sean Parent

Selecting items from a collection is one of the most common tasks users perform with graphical user interfaces. Practically every application supports this task with a selection feature different from that of any other application. Defects are common, especially in manipulating selections of non-adjacent elements, and flexible selection features are often missing when they would clearly be useful. As a consequence, user effort is wasted. The loss of productivity is experienced in small doses, but all computer users are impacted. The undesirable state of support for multi-element selection prevails because the same selection features are redesigned and reimplemented repeatedly. This article seeks to establish common abstractions for multi-selection. It gives generic but precise meanings to selection operations and makes multi-selection reusable; a JavaScript implementation is described. Application vendors benefit because of reduced development effort. Users benefit because correct and consistent multi-selection becomes available in more contexts.


DARTS - Dagstuhl Artifacts Series | 2016

One Way to Select Many (Artifact)

Jaakko Järvi; Sean Parent

The artifact is built around the MultiselectJS library that implements the multi-selection semantics presented in the companion paper. The purpose of this JavaScript library is to help programmers add multi-selection to Web user interfaces with ease. The artifact includes a demo application showcasing the use of the library, documentation of the library API, and a tutorial on how to use the library. The library clearly separates the reusable aspects of multi-selection from the application specific aspects. The latter are collected into an object referred to as the selection geometry. The complex task of implementing a full-fledged multi-selection feature reduces to a considerably simpler task of implementing a selection geometry. The demo application implements several different selection geometries. It supports the claims of the companion paper that the library considerably lessens the task of implementing multi-selection. Following the guidance of the tutorial, users can build their own multi-selection features.


Archive | 2001

Marked foreign data blocks

Sean Parent; Glenn G. Gilley


generative programming and component engineering | 2008

Property models: from incidental algorithms to reusable components

Jaakko Järvi; Mat Marcus; Sean Parent; John Freeman; Jacob N. Smith


generative programming and component engineering | 2009

Algorithms for user interfaces

Jaakko Järvi; Mat Marcus; Sean Parent; John Freeman; Jacob N. Smith


Sigplan Notices | 2016

Generating reactive programs for graphical user interfaces from multi-way dataflow constraint systems

Gabriel Foust; Jaakko Järvi; Sean Parent


Archive | 2009

Properties of Constraint Systems of Property Models

John Freeman; Jacob N. Smith; Mat Marcus; Sean Parent

Collaboration


Dive into the Sean Parent's collaboration.

Researchain Logo
Decentralizing Knowledge