Stefan Wehr

dblp:23/6901 · DBLP profile ↗
← Back
13ranked-venue papers
5as first author
3since 2021 · last 2023
0000-0001-5242-767XORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 10 · 5 first-author · 2 since 2021Graphics, computer vision, multimedia, augmented reality and games · 2Theory of computation · 1 · 1 since 2021
YearPublicationVenuePosition
2023 A type-directed, dictionary-passing translation of method overloading and structural subtyping in Featherweight Generic Go
abstract
Abstract Featherweight Generic Go (FGG) is a minimal core calculus modeling the essential features of the programming language Go. It includes support for overloaded methods, interface types, structural subtyping, and generics. The most straightforward semantic description of the dynamic behavior of FGG programs is to resolve method calls based on runtime type information of the receiver. This article shows a different approach by defining a type-directed translation from ${\textrm{FGG}^{-}}$ to an untyped lambda-calculus. ${\textrm{FGG}^{-}}$ includes all features of FGG but type assertions. The translation of an ${\textrm{FGG}^{-}}$ program provides evidence for the availability of methods as additional dictionary parameters, similar to the dictionary-passing approach known from Haskell type classes. Then, method calls can be resolved by a simple lookup of the method definition in the dictionary. Every program in the image of the translation has the same dynamic semantics as its source ${\textrm{FGG}^{-}}$ program. The proof of this result is based on a syntactic, step-indexed logical relation. The step index ensures a well-founded definition of the relation in the presence of recursive interface types and recursive methods. Although being non-deterministic, the translation is coherent.
Martin Sulzmann, Stefan Wehr
J. Funct. Program.2
2022 Semantic Preservation for a Type Directed Translation Scheme of Featherweight Go
Martin Sulzmann, Stefan Wehr
MPC2
2021 A Dictionary-Passing Translation of Featherweight Go
Martin Sulzmann, Stefan Wehr
APLAS2
2012 The interaction of contracts and laziness
abstract
Contract monitoring for strict higher-order functional languages has an intuitive meaning, an established theoretical basis, and a standard implementation. For lazy functional languages, the situation is less clear-cut. There is no agreed-upon intended meaning or theory, and there are competing implementations with subtle semantic differences.
Markus Degen 0001, Peter Thiemann 0001, Stefan Wehr
PEPM3
2011 JavaGI: The Interaction of Type Classes with Interfaces and Inheritance
abstract
The language JavaGI extends Java 1.5 conservatively by a generalized interface mechanism. The generalization subsumes retroactive and type-conditional interface implementations, binary methods, symmetric multiple dispatch, interfaces over families of types, and static interface methods. These features make certain coding patterns redundant, increase the expressiveness of the type system, and permit solutions to extension and integration problems with components in binary form, for which previously several unrelated extensions had been suggested. This article explains JavaGI and motivates its design. Moreover, it formalizes a core calculus for JavaGI and proves type soundness, decidability of typechecking, and determinacy of evaluation. The article also presents the implementation of a JavaGI compiler and an accompanying run-time system. The compiler, based on the Eclipse Compiler for Java, offers mostly modular static typechecking and fully modular code generation. It defers certain well-formedness checks until load time to increase flexibility and to enable full support for dynamic loading. Benchmarks show that the code generated by the compiler offers good performance. Several case studies demonstrate the practical utility of the language and its implementation.
Stefan Wehr, Peter Thiemann 0001
ACM Trans. Program. Lang. Syst.1
2009 On the Decidability of Subtyping with Bounded Existential Types
Stefan Wehr, Peter Thiemann 0001
APLAS1
2009 JavaGI in the battlefield: practical experience with generalized interfaces
abstract
Generalized interfaces are an extension of the interface concept found in object-oriented languages such as Java or C#. The extension is inspired by Haskell's type classes. It supports retroactive and type-conditional interface implementations, binary methods, symmetric multimethods, interfaces over families of types, and static interface methods.
Stefan Wehr, Peter Thiemann 0001
GPCE1
2008 Interface Types for Haskell
Peter Thiemann 0001, Stefan Wehr
APLAS2
2008 ML Modules and Haskell Type Classes: A Constructive Comparison
Stefan Wehr, Manuel M. T. Chakravarty
APLAS1
2007 Tracking Linear and Affine Resources with Java(X)
Markus Degen 0001, Peter Thiemann 0001, Stefan Wehr
ECOOP3
2007 JavaGI : Generalized Interfaces for Java
Stefan Wehr, Ralf Lämmel, Peter Thiemann 0001
ECOOP1
2003 On the importance of exact synchronization for distributed audio signal processing
abstract
We propose a new paradigm for implementations of audio array processing algorithms on a network of distributed general-purpose computers. In contrast to currently existing DSP processor-based solutions, our approach offers new possibilities for advanced array signal processing by enabling the usage of general-purpose computing platforms with their superior computational and storage resources. We demonstrate that synchronization of sensors is essential for acoustic blind source separation (BSS) algorithms, and we propose a synchronization scheme that enables BSS on distributed, wirelessly networked computers and can easily be implemented on existing hardware.
Rainer Lienhart, Igor Kozintsev, Stefan Wehr, Minerva M. Yeung
ICASSP (4)3
2003 Universal synchronization scheme for distributed audio-video capture on heterogeneous computing platforms
abstract
We propose a universal synchronization scheme for distributed audio-video capture on heterogeneous computing devices such as laptops, tablets, PDAs, cellular phones, audio recorders, and camcorders. These devices typically possess sensors such as microphones and possibly cameras. In order to combine them wirelessly into a distributed sensing and computing system, it is necessary to provide relative time synchronization among the distributed sensors. In this work we propose a setup and an algorithm that provide synchronization between sampling times for a network of distributed multi-channel audio sensors connected to general purpose computing (GPC) platforms. Extensive experimental results on distributed acoustic Blind Source Separation (BSS) algorithms validate the performance of our synchronization scheme.
Rainer Lienhart, Igor Kozintsev, Stefan Wehr
ACM Multimedia3