Andrew Farmer

My interests include programming language design in general and specifically the compilation and optimization of functional languages. I am currently working on HERMIT, a GHC plugin for transforming Core Language programs. I am interested in making HERMIT useful for prototyping and debugging GHC optimizations. In the past I worked on testing and debugging tools for the Kansas Lava project.

I also created Scotty, a small framework for specifying RESTful web services.

Email: anfarmer at fb dot com

Personal webpage: http://andrewfarmer.name

Github: https://github.com/xich

Publications

Presentations

  • Reasoning with the HERMIT: Tool Support for Equational Reasoning on GHC Core Programs. 2015 Haskell Symposium. Vancouver, Canada. September 2015. Slides Video
  • Reasoning with the HERMIT: Tool Support for Equational Reasoning on GHC Core Programs. UNSW Programming Languages and Systems Group. Sydney, Australia. June 2015. Slides
  • HERMIT: Mechanized Reasoning during Compilation in the Glasgow Haskell Compiler. Dissertation Defense. Lawrence, Kansas. April 2015. Slides
  • The HERMIT in the Stream. PEPM 2014. San Diego, California. January 2014. Slides
  • RESTful Web Services with Haskell. Lambda Lounge KC. Fairway, Kansas. November 2013. Slides Video
  • Prototyping GHC Optimizations with HERMIT. 2013 Haskell Implementors Workshop. Boston, Massachusetts. September 2013. Slides
  • A Language for Domain-Specific Optimizations in Haskell. Symposium on Trends in Functional Programming (TFP ‘13). Provo, Utah. May 2013. Slides
  • Haskell DSLs for Interactive Web Services. Janrain. Portland, Oregon. April 2013. Slides
  • Introducing HERMIT: A Plugin for Transforming GHC Core Language Programs. Galois Tech Talk. Portland, Oregon. April 2013. Slides
  • Towards a HERMIT-based DSL for Specifying Optimizations in GHC. Portland State PL Club. Portland, Oregon. February 2013. Slides
  • Introducing HERMIT: A Plugin for Transforming GHC Core Language Programs. Portland State PL Club. Portland, Oregon. January 2013. Slides
  • Haskell DSLs for Interactive Web Services. First International Workshop on Cross-model Language Design and Implementation (XLDI ‘12), Copenhagen, Denmark. September 2012. Slides Video
  • HERMIT: A Plugin for Transforming GHC Core Language Programs. 2012 Oregon Programming Languages Summer School, student talk session, Eugene, Oregon. July 2012. Slides
  • The HERMIT Equational Reasoning Framework. ITTC Industry Advisory Board Poster Session, Lawrence, Kansas. June 2012. Winner of Student Poster Competition.
  • KURE-ing Reverse. 2011 Symposium on Implementation and Application of Functional Languages, Lawrence, Kansas. October 2011.
  • Kansas Lava: Using and Abusing GHC’s Type Extensions. 2010 Haskell Implementors Workshop, Baltimore, Maryland. October 2010. Slides, Video.
  • Generating Implementations of Error Correcting Codes using Kansas Lava. Portland State University, Portland, Oregon. July 2010.
  • Debugging the Internals of Kansas Lava. ITTC Industry Advisory Board Poster Session, Lawrence, Kansas. June 2010.
  • What’s the Matter with Kansas Lava? Symposium on Trends in Functional Programming, Norman, Oklahoma. May 2010.