Sciweavers

ICFP
2006
ACM
14 years 5 months ago
Simple unification-based type inference for GADTs
Generalized algebraic data types (GADTs), sometimes known as "guarded recursive data types" or "first-class phantom types", are a simple but powerful generaliz...
Simon L. Peyton Jones, Dimitrios Vytiniotis, Steph...
ICFP
2006
ACM
14 years 5 months ago
Transactional events
nt programs require high-level abstractions in order to manage complexity and enable compositional reasoning. In this paper, we introduce a novel concurrency abstraction, dubbed t...
Kevin Donnelly, Matthew Fluet
ICFP
2006
ACM
14 years 5 months ago
Modelling deterministic concurrent I/O
The problem of expressing I/O and side effects in functional languages is a well-established one. This paper addresses this problem from a general semantic viewpoint by giving a u...
Malcolm Dowse, Andrew Butterfield
ICFP
2006
ACM
14 years 5 months ago
Modular development of certified program verifiers with a proof assistant
I report on an experience using the Coq proof assistant to develop a program verification tool with a machine-checkable proof of full correctness. The verifier is able to prove me...
Adam J. Chlipala
ICFP
2006
ACM
14 years 5 months ago
OCaml + XDuce
This paper presents the core type system and type inference algorithm of OCamlDuce, a merger between OCaml and XDuce. The challenge was to combine two type checkers of very differ...
Alain Frisch
ICFP
2006
ACM
14 years 5 months ago
A pattern for almost compositional functions
This paper introduces a pattern for almost compositional functions over recursive data types, and over families of mutually recursive data types. Here "almost compositional&q...
Aarne Ranta, Björn Bringert
ICFP
2006
ACM
14 years 5 months ago
Static analysis for syntax objects
We describe an s-expression based syntax-extension framework much like Scheme macros, with a key additional facility: the ability to define static semantics, such as type systems ...
David Fisher, Olin Shivers
ICFP
2006
ACM
14 years 5 months ago
Extensible programming with first-class cases
We present language mechanisms for polymorphic, extensible records and their exact dual, polymorphic sums with extensible first-class cases. These features make it possible to eas...
Matthias Blume, Umut A. Acar, Wonseok Chae
ICFP
2006
ACM
14 years 5 months ago
Programming monads operationally with Unimo
Monads are widely used in Haskell for modeling computational effects, but defining monads remains a daunting challenge. Since every part of a monad's definition depends on it...
Chuan-Kai Lin