Functional programming is concerned with referential transparency, that is, given a certain function and its parameter, that the result will always be the same. However, it seems that this is violated in applications involving uncertainty, such as rolling a dice. This thesis defines the background of probabilistic programming and domain-specific...
We introduce a visual specification language for spreadsheets that allows the definition of spreadsheet templates. These templates are used by a spreadsheet generator to create Excel spreadsheets that are probably free from a large class of errors, such as reference, omission, and type errors. We demonstrate how spreadsheets can be...
A huge discrepancy between theory and practice exists in one popular application area of functional programming--spreadsheets. Although spreadsheets are the most frequently used (functional) programs, few formal models of computation and type systems exist that would provide the foundation for creating reliable spreadsheets. Consequently, existing spreadsheets contain many errors, some...
Programmers spend a substantial fraction of their debugging time by navigating
through source code, yet little is known about how programmers navigate. With the
continuing growth in size and complexity of software, this fraction of time is likely to
increase, which presents challenges to those seeking both to understand and...