Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleAugust 2009
Implementing first-class polymorphic delimited continuations by a type-directed selective CPS-transform
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingPages 317–328https://doi.org/10.1145/1596550.1596596We describe the implementation of first-class polymorphic delimited continuations in the programming language Scala. We use Scala's pluggable typing architecture to implement a simple type and effect system, which discriminates expressions with control ...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 9 - research-articleAugust 2009
Automatically RESTful web applications: marking modular serializable continuations
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingPages 299–310https://doi.org/10.1145/1596550.1596594Continuation-based Web servers provide distinct advantages over traditional Web application development: expressive power and modularity. This power leads to fewer errors and more interesting applications. Furthermore, these Web servers are more than ...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 9 - research-articleAugust 2009
A concurrent ML library in concurrent Haskell
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingPages 269–280https://doi.org/10.1145/1596550.1596589In Concurrent ML, synchronization abstractions can be defined and passed as values, much like functions in ML. This mechanism admits a powerful, modular style of concurrent programming, called higher-order concurrent programming. Unfortunately, it is ...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 9 - research-articleAugust 2009
Attribute grammars fly first-class: how to do aspect oriented programming in Haskell
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingPages 245–256https://doi.org/10.1145/1596550.1596586Attribute Grammars (AGs), a general-purpose formalism for describing recursive computations over data types, avoid the trade-off which arises when building software incrementally: should it be easy to add new data types and data type alternatives or to ...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 9 - research-articleAugust 2009
Experience report: Haskell in the 'real world': writing a commercial application in a lazy functional lanuage
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingPages 185–190https://doi.org/10.1145/1596550.1596578I describe the initial attempt of experienced business software developers with minimal functional programming background to write a non-trivial, business-critical application entirely in Haskell. Some parts of the application domain are well suited to ...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 9 - research-articleAugust 2009
Partial memoization of concurrency and communication
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingPages 161–172https://doi.org/10.1145/1596550.1596575Memoization is a well-known optimization technique used to eliminate redundant calls for pure functions. If a call to a function f with argument v yields result r, a subsequent call to f with v can be immediately reduced to r without the need to re-...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 9 - research-articleAugust 2009
Non-parametric parametricity
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingPages 135–148https://doi.org/10.1145/1596550.1596572Type abstraction and intensional type analysis are features seemingly at odds-type abstraction is intended to guarantee parametricity and representation independence, while type analysis is inherently non-parametric. Recently, however, several ...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 9 - research-articleAugust 2009
Functional pearl: la tour d'Hanoï
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingPages 3–10https://doi.org/10.1145/1596550.1596555This pearl aims to demonstrate the ideas of wholemeal and projective programming using the Towers of Hanoi puzzle as a running example. The puzzle has its own beauty, which we hope to expose along the way.
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 9 - invited-talkAugust 2009
Organizing functional code for parallel execution or, foldl and foldr considered slightly harmful
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingPages 1–2https://doi.org/10.1145/1596550.1596551Alan Perlis, inverting OscarWilde's famous quip about cynics, once suggested, decades ago, that a Lisp programmer is one who knows the value of everything and the cost of nothing. Now that the conference on Lisp and Functional Programming has become ICFP,...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 9 - research-articleAugust 2009
Generic programming with fixed points for mutually recursive datatypes
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingPages 233–244https://doi.org/10.1145/1596550.1596585Many datatype-generic functions need access to the recursive positions in the structure of the datatype, and therefore adopt a fixed point view on datatypes. Examples include variants of fold that traverse the data following the recursive structure, or ...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 9 - research-articleAugust 2009
OXenstored: an efficient hierarchical and transactional database using functional programming with reference cell comparisons
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingPages 203–214https://doi.org/10.1145/1596550.1596581We describe in this paper our implementation of the Xenstored service which is part of the Xen architecture. Xenstored maintains a hierarchical and transactional database, used for storing and managing configuration values.
We demonstrate in this paper ...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 9 - research-articleAugust 2009
Free theorems involving type constructor classes: functional pearl
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingPages 173–184https://doi.org/10.1145/1596550.1596577Free theorems are a charm, allowing the derivation of useful statements about programs from their (polymorphic) types alone. We show how to reap such theorems not only from polymorphism over ordinary types, but also from polymorphism over type ...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 9 - research-articleAugust 2009
Causal commutative arrows and their optimization
ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programmingPages 35–46https://doi.org/10.1145/1596550.1596559Arrows are a popular form of abstract computation. Being more general than monads, they are more broadly applicable, and in particular are a good abstraction for signal processing and dataflow computations. Most notably, arrows form the basis for a ...
Also Published in:
ACM SIGPLAN Notices: Volume 44 Issue 9