...collaborate on

Incremental Spreadsheet Interpreter

One of my major research interest subjects is Adaptive and Incremental computation.

An adaptive computation maintains the relationship between its input and output as the input changes. That is to say that output will be updated as response to input changes, while re-evaluation will only occur on program portions afected by the change. Adaptive programming is most useful in situations where input changes lead to relatively small changes in the output.

In limiting cases one cannot avoid a complete re-computation of the output, but in many cases the results of the previous computation may be re-used to obtain the updated output more quickly than a complete re-evaluation.

We are using Magnus Carlsson Adaptive Combinators library to model, in Haskell, a real spreadsheet adaptive system. This is, in fact, one of the classical incremental computation problems.
Magnus Carlsson's Haskell library for incremental computing, by its hand, follows closely the implementation in the POPL 2002 paper "Adaptive Functional Programming", by Umut Acar, Guy Blelloch and Bob Harper.

For detailed information on the building of the Incremental Interpreter, please take a look at this brief documentation report.

If you want to actually run the interpreter, you will need this (non-hierarchical) small library, plus Language.Gnumeric UMinho Haskell library, HaXml and Magnus Carlsson Haskell library.

r2 - 27 Apr 2005 - 10:13:52 - Main.JoaoFernandes
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Syndicate this site RSSATOM