I am a Senior Researcher at Microsoft Research working on the Calc Intelligence project. My research interests span user-centered programming language design, developer tools, data science, type systems, and collaborative editing.
I built and maintain the advanced formula environment (AFE), an add-in for Excel.
I helped design and build Calc.ts, the calc engine used by Excel for the web.
I did my PhD at the University of Edinburgh working with Philip Wadler on contract semantics and gradual typing.
Email: jw ~at~ jackw ~dot~ io
PublicationsEnd-user encounters with lambda abstraction in spreadsheets: Apollo's bow or Achilles' heel? (VL/HCC 2022)
Advait Sarkar, Sruti Srinivasa Ragavan, Jack Williams, and Andrew D. Gordon To appearLinkingPark: An automatic semantic table interpretation system (Journal of Web Semantics 2022)
Shuang Chen, Alperen Karaoglu, Carina Negreanu, Tingting Ma, Jin-Ge Yao, Jack Williams, Feng Jiang, Andy Gordon, and Chin-Yew Lin ElsevierRows from Many Sources: Enriching row completions from Wikidata with a pre-trained Language Model (TheWebConf 2022)
Carina Negreanu, Alperen Karaoglu, Jack Williams, Shuang Chen, Daniel Fabian, Andrew Gordon, and Chin-Yew Lin ACMWhere-Provenance for Bidirectional Editing in Spreadsheets (VL/HCC 2021)
Jack Williams and Andrew D. Gordon IEEELinkingPark: An Integrated Approach for Semantic Table Interpretation (SemTab 2020)
Shuang Chen, Alperen Karaoglu, Carina Negreanu, Tingting Ma, Jin-Ge Yao, Jack Williams, Andy Gordon, and Chin-Yew Lin PDFUnderstanding and Inferring Units in Spreadsheets (VL/HCC 2020)
Jack Williams, Carina Negreanu, Andrew D. Gordon, and Advait Sarkar IEEEHigher-Order Spreadsheets with Spilled Arrays (ESOP 2020) Gridlets: Reusing Spreadsheet Grids (CHI EA 2020) Spreadsheet Use and Programming Experience: an Exploratory Survey (CHI EA 2020) Design and Evaluation of Contracts for Gradual Typing (PhD Thesis, University of Edinburgh, 2019) The Root Cause of Blame: Contracts for Intersection and Union Types (OOPSLA 2018) Mixed Messages: Measuring Conformance and Non-Interference in TypeScript (ECOOP 2017)