Artículo: HaskCell: Experiments with Purely Functional Spreadsheets
Spreadsheet programs are one of the most widespread information processing tools used by end-users. Their importance lies not only in their extensive use by people with little or no knowledge of programming but because of their relevance as a decision-making tool by executives in many companies. In spite of this long-term success, many studies have found plenty of pitfalls that make spreadsheets widely faulty, hence potentially leading to risky decisions. Because of these problems several analysis tools have been proposed to help find errors easily. In this project we present a different approach, more oriented to prevent the appearance of errors through a change in the way users interact with them. We focus on the declarative essence of spreadsheets and propose to refound them on the grounds of modern functional programming languages. Our tool, HaskCell, uses a subset of Haskell as the expression language for its cells and takes advantage of its rich type system to support a safer way of spreadsheet programming that prevents the appearance of certain errors and help understanding the meaning of programs, as new data types can be introduced from cell aggregates. Haskell is also used for defining reusable, user-defined functions and external modules. We show a working prototype incorporating the ideas above and point towards new features based on advanced functional programming technologies.