Simon has been a researcher at Microsoft Research in Cambridge, England since Sept 1998. He's also an Honorary Professor of the Computing Science Department at Glasgow University, where he was a professor during 1990-1998. Simon is interested in the design, implementation, and application of lazy functional languages. In practical terms, that means he spends most of his time on the design and implementation of the language Haskell. In particular, much of his work is focused around the Glasgow Haskell Compiler, and its ramifications. Simon is chair of Computing at School, the group at the epicentre of the reform of the national curriculum for Computing in England. Computer science is now a foundational subject, alongside maths and natural science, that every child learns from primary school onwards (background here).
The world’s most widely used programming language is a purely functional language! It’s called Excel. No mutable cells, assignment statements, or sequencing; just pure functions and immutable values. But, despite its phenomenal success, considered as a functional programming language, Excel’s formulas constitute a very limited language: it is largely restricted to scalar values, and you can’t write new user-defined functions. Until now. Excel has just released LAMBDA, in its full higher-order glory, just as Alonzo Church defined it in the 1930s. That’s pretty exciting, because now you can define new functions, which can call other lambda-defined functions, to arbitrary depth, and even recursively. It represents a qualitative change not an incremental one: Excel just became Turing-complete. In this talk we’ll tell you some things you may not know about Excel’s existing formula language, we’ll describe the journey that led a few geeks at Microsoft Research Cambridge to influence one of the most widely used programs in history, and we’ll show you some other ideas we’ve been playing around with. Lambda Days indeed!