Sciweavers

ICFP
2006
ACM
15 years 12 days 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
15 years 12 days 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
15 years 12 days 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
15 years 12 days 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
15 years 12 days 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
15 years 12 days 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
15 years 12 days 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
15 years 12 days 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
15 years 12 days 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