2346657
ML Typing, Explicit Polymorphism and Qualified Types
The ML type system was originally introduced as a means of identifying a class of terms in a simple untyped language, often referred to as core-ML, whose evaluation could be guaranteed not to “go wrong”. In subsequent work, the terms of core-ML have also been viewed as a ‘convenient shorthand’ for programs in typed languages. Notable examples include studies of ML polymorphism and investigations of overloading, motivated by the use of type classes in Haskell.
43107545
A Theory of Qualified Types
Abstract This paper describes a general theory of overloading based on a system of qualified types. The central idea is the use of predicates in the type of a term, restricting the scope of universal quantification. A corresponding semantic notion of evidence is introduced and provides a uniform framework for implementing applications of this system, including Haskell style type classes, extensible records and subtyping. Working with qualified types in a simple, implicitly typed, functional language, we extend the Damas-Milner approach to type inference. As a result, we show that the set of all possible typings for a given term can be characterized by a principal type scheme, calculated by a type inference algorithm.
13870178
Simplifying and improving qualified types
Qualified types provide a general framework for constrained type systems, with applications including type class overloading, subtyping and record calculi. This paper presents an extended version of the type inference algorithm used in previous work, that can take account of the satisfiability of constraints to obtain more accurate principal types. The new algorithm is obtained by adding two new rules, one for simplification and one for improvement of constraint sets. In particular, it permits a better treatment for the previously troublesome multiple parameter extensions of Haskell type classes. For example, a form of parametric type classes, proposed by Chen, Hudak and Odersky, can be viewed as a special case of this work.
15818085
An evaluation of integrated zooming and scrolling on small screens
Abstract Speed-dependent automatic zooming (SDAZ) has been proposed for standard desktop displays as a means of overcoming problems associated with the navigation of large information spaces. SDAZ combines zooming and panning facilities into a single operation, with the magnitude of both factors dependent on simple user interaction. Previous research indicated dramatic user performance improvements when using the technique for document and map navigation tasks. In this paper, we propose algorithmic extensions to the technique for application on small-screen devices and present a comparative experimental evaluation of user performance with the system and a normative scroll–zoom–pan interface. Users responded positively to the system, particularly in relation to reduced physical navigational workload. However, the reduced screen space reduced the impact of SDAZ in comparison to that reported in previous studies. In fact, for one-dimensional navigation (vertical document navigation) the normative interface out-performed SDAZ. For navigation in two dimensions (map browsing) SDAZ supports more accurate target location, and also produces longer task completion times. Some SDAZ users became lost within the information space and were unable to recover navigational context. We discuss the reasons for these observations and suggest ways in which limitations of SDAZ in the small-screen context may be overcome.
6541426
Wikifying your interface: facilitating community-based interface translation
We explore the application of a wiki-based technology and style of interaction to enabling the incremental translation of a collaborative application into a number of different languages, including variant English language interfaces better suited to the needs of particular user communities. The development work allows us to explore in more detail the design space of functionality and interfaces relating to tailoring, customization, personalization and localization, and the challenges of designing to support ongoing incremental contributions by members of different use communities.
9636203
Two case studies in predictable application scheduling using Rialto/NT
This paper analyzes the results of two case studies in applying the Rialto/NT scheduler to real Windows 2000 applications. The first study is of a soft modem-a modem whose signal processing work is performed on the host CPU, rather than on a dedicated signal processing chip. The second is of an audio player application. Both of these are frequently used real-time applications-ones running on systems that were not designed to support predictable real-time execution. To function correctly, both applications require that ongoing computations be performed in a timely manner. In both cases, we first measured an original version designed to run on Windows 2000, and then modified the application to take advantage of ongoing CPU reservations provided by the Rialto/NT scheduler. We report on the benefits and problems observed when using reservations in these real-world scenarios. In both cases, we found that a real-time scheduler can provide the needed predictability for the application in the presence of competing applications, while also providing other benefits, such as minimizing the soft modem's impact on the scheduling predictability of other computations in the system. We also describe the methodologies we used to analyze the real-time behavior of the operating system and applications during these studies, including the use of instrumented kernels to produce execution traces.
18996618
The Production of Volume Data from Triangular Meshes Using Voxelisation
Voxelisation is the term given to the process of converting data from one source type into a three dimensional volume of data values. The techniques known collectively as volume visualisation can then be applied to the data in order to produce a graphical representation of the object. This paper gives a practical approach to the voxelisation of data in the form of triangular meshes, and demonstrates the use of the method on various datasets. Visualisation is achieved by a method also described in the paper.
8773945
Changing the pace of search: Supporting background information seeking
Almost all Web searches are carried out while the user is sitting at a conventional desktop computer connected to the Internet. Although online, handheld, mobile search offers new possibilities, the fast-paced, focused style of interaction may not be appropriate for all user search needs. The authors explore an alternative, relaxed style for Web searching that asynchronously combines an offline handheld computer and an online desktop personal computer. They discuss the role and utility of such an approach, present a tool to meet these user needs, and discuss its relation to other systems.