Centre for Genomic Regulation (CRG) Featured PhD Programmes
Imperial College London Featured PhD Programmes
University College London Featured PhD Programmes

Functional Programs as Spreadsheets


   Department of Computer Science

   Applications accepted all year round  Self-Funded PhD Students Only

About the Project

Spreadsheets are widely used as a calculation tool in scientific modelling, business and finance. A spreadsheet application is a standard part of any office productivity suite.

It is well-known that a spreadsheet can be viewed as a kind of functional program. Assuming the absence of circular references, by translating each filled cell to a function, one obtains a recursion-free functional program.

However, translation in the other direction, from functional programs into spreadsheets, has not been well-studied. In general, it is impossible to translate a functional program into a spreadsheet that performs the same computation. However, observing that the denotation of a functional program is the least upper bound of a sequence of fixed point approximants, we can translate one of those approximants into a spreadsheet. The goal of this project is to investigate this connection.

Applications of this research might include a spreadsheet-based tool for teaching functional programming, or a spreadsheet-based development environment and debugger for experienced users of functional programming.

For informal enquiries, please contact , including "Functional Programs as Spreadsheets" in the subject of your e-mail and stating clearly how you meet the eligibility criteria.

Funding Notes

You must have a good Bachelor's degree (2.1 or higher, or equivalent) or Master's degree in Computer Science, Mathematics or a similar relevant subject.

Experience of functional programming is essential, as is knowledge of at least one of the following topics: programming language semantics; static analysis; proof assistants such as Coq; program synthesis; bidirectional transformations.

Email Now


Search Suggestions
Search suggestions

Based on your current searches we recommend the following search filters.