Sciweavers

ICFP
2010
ACM
13 years 6 months ago
Fortifying macros
Existing macro systems force programmers to make a choice between clarity of specification and robustness. If they choose clarity, they must forgo validating significant parts of ...
Ryan Culpepper, Matthias Felleisen
ICFP
2010
ACM
13 years 6 months ago
The impact of higher-order state and control effects on local relational reasoning
Reasoning about program equivalence is one of the oldest problems in semantics. In recent years, useful techniques have been developed, based on bisimulations and logical relation...
Derek Dreyer, Georg Neis, Lars Birkedal
ICFP
2010
ACM
13 years 6 months ago
Lazy tree splitting
Nested data-parallelism (NDP) is a declarative style for programming irregular parallel applications. NDP languages provide language features favoring the NDP style, efficient com...
Lars Bergstrom, Mike Rainey, John H. Reppy, Adam S...
ICFP
2010
ACM
13 years 6 months ago
The reduceron reconfigured
The leading implementations of graph reduction all target conventional processors designed for low-level imperative execution. In this paper, we present a processor specially desi...
Matthew Naylor, Colin Runciman
ICFP
2010
ACM
13 years 6 months ago
Parametricity and dependent types
' abstraction theorem shows how a typing judgement in System F can be translated into a relational statement (in second order predicate logic) about inhabitants of the type. ...
Jean-Philippe Bernardy, Patrik Jansson, Ross Pater...
ICFP
2010
ACM
13 years 6 months ago
Scrapping your inefficient engine: using partial evaluation to improve domain-specific language implementation
Partial evaluation aims to improve the efficiency of a program by specialising it with respect to some known inputs. In this paper, we show that partial evaluation can be an effec...
Edwin Brady, Kevin Hammond
ICFP
2010
ACM
13 years 6 months ago
Regular, shape-polymorphic, parallel arrays in Haskell
We present a novel approach to regular, multi-dimensional arrays in Haskell. The main highlights of our approach are that it (1) is purely functional, (2) supports reuse through s...
Gabriele Keller, Manuel M. T. Chakravarty, Roman L...
ICFP
2010
ACM
13 years 6 months ago
Bidirectionalizing graph transformations
Bidirectional transformations provide a novel mechanism for synchronizing and maintaining the consistency of information between input and output. Despite many promising results o...
Soichiro Hidaka, Zhenjiang Hu, Kazuhiro Inaba, Hir...
ICFP
2010
ACM
13 years 6 months ago
Polyvariant flow analysis with higher-ranked polymorphic types and higher-order effect operators
We present a type and effect system for flow analysis that makes essential use of higher-ranked polymorphism. We show that, for higher-order functions, the expressiveness of highe...
Stefan Holdermans, Jurriaan Hage
ICFP
2010
ACM
13 years 6 months ago
Logical types for untyped languages
Programmers reason about their programs using a wide variety of formal and informal methods. Programmers in untyped languages such as Scheme or Erlang are able to use any such met...
Sam Tobin-Hochstadt, Matthias Felleisen