2021
On Adding Pattern Matching to Haskell-Based Deeply Embedded Domain Specific Languages.
Proceedings of the Practical Aspects of Declarative Languages, 2021
2017
Composable network stacks and remote monads.
Proceedings of the 10th ACM SIGPLAN International Symposium on Haskell, 2017
Rewriting a shallow DSL using a GHC compiler extension.
Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, 2017
AFrame: A Domain Specific Language for Virtual Reality: Extended Abstract.
Proceedings of the 2nd International Workshop on Real World Domain Specific Languages, 2017
2016
Threading the Arduino with Haskell.
Proceedings of the Trends in Functional Programming - 17th International Conference, 2016
Haskino: A Remote Monad for Programming the Arduino.
Proceedings of the Practical Aspects of Declarative Languages, 2016
2015
The remote monad design pattern.
Proceedings of the 8th ACM SIGPLAN Symposium on Haskell, 2015
Reasoning with the HERMIT: tool support for equational reasoning on GHC core programs.
Proceedings of the 8th ACM SIGPLAN Symposium on Haskell, 2015
2014
Domain-specific Languages and Code Synthesis Using Haskell.
ACM Queue, 2014
The Kansas University rewrite engine - A Haskell-Embedded Strategic Programming Language with Custom Closed Universes.
J. Funct. Program., 2014
The HERMIT in the stream: fusing stream fusion's concatMap.
Proceedings of the ACM SIGPLAN 2014 workshop on Partial evaluation and program manipulation, 2014
Sunroof: A Monadic DSL for Generating JavaScript.
Proceedings of the Practical Aspects of Declarative Languages, 2014
2013
The constrained-monad problem.
Proceedings of the ACM SIGPLAN International Conference on Functional Programming, 2013
2012
Types and associated type families for hardware simulation and synthesis - The internals and externals of Kansas Lava.
High. Order Symb. Comput., 2012
Handshaking in Kansas Lava Using Patch Logic.
Proceedings of the Practical Aspects of Declarative Languages, 2012
The HERMIT in the Tree - Mechanizing Program Transformations in the GHC Core Language.
Proceedings of the Implementation and Application of Functional Languages, 2012
A pattern for almost homomorphic functions.
Proceedings of the 8th ACM SIGPLAN workshop on Generic programming, 2012
The HERMIT in the machine: a plugin for the interactive transformation of GHC core language programs.
Proceedings of the 5th ACM SIGPLAN Symposium on Haskell, 2012
2011
Deriving an efficient FPGA implementation of a low density parity check forward error corrector.
Proceedings of the Proceeding of the 16th ACM SIGPLAN international conference on Functional Programming, 2011
Using Functional Programming to Generate an LDPC Forward Error Corrector.
Proceedings of the IEEE 19th Annual International Symposium on Field-Programmable Custom Computing Machines, 2011
2010
Factorising folds for faster functions.
J. Funct. Program., 2010
Every Animation Should Have a Beginning, a Middle, and an End - A Case Study of Using a Functor-Based Animation Language.
Proceedings of the Trends in Functional Programming - 11th International Symposium, 2010
Types and Type Families for Hardware Simulation and Synthesis - The Internals and Externals of Kansas Lava.
Proceedings of the Trends in Functional Programming - 11th International Symposium, 2010
What's the Matter with Kansas Lava?
Proceedings of the Trends in Functional Programming - 11th International Symposium, 2010
2009
The worker/wrapper transformation.
J. Funct. Program., 2009
ChalkBoard: Mapping Functions to Polygons.
Proceedings of the Implementation and Application of Functional Languages, 2009
Proceedings of the Implementation and Application of Functional Languages, 2009
Type-safe observable sharing in Haskell.
Proceedings of the 2nd ACM SIGPLAN Symposium on Haskell, 2009
A Haskell Hosted DSL for Writing Transformation Systems.
Proceedings of the Domain-Specific Languages, IFIP TC 2 Working Conference, 2009
2008
Asynchronous Exceptions as an Effect.
Proceedings of the Mathematics of Program Construction, 9th International Conference, 2008
Unrestricted pure call-by-value recursion.
Proceedings of the ACM Workshop on ML, 2008, Victoria, BC, Canada, September 21, 2008, 2008
2007
A lightweight interactive debugger for haskell.
Proceedings of the ACM SIGPLAN Workshop on Haskell, 2007
Haskell program coverage.
Proceedings of the ACM SIGPLAN Workshop on Haskell, 2007
2006
Introducing the Haskell equational reasoning assistant.
Proceedings of the ACM SIGPLAN Workshop on Haskell, 2006
2000
Debugging Haskell by Observing Intermediate Data Structures.
Proceedings of the 2000 ACM SIGPLAN Workshop on Haskell, 2000
1995
The Technology Behind a Graphical User Interface for an Equational Reasoning Assistant.
Proceedings of the Functional Programming, Glasgow, UK, 1995, 1995
1992
Avoiding Unnecessary Updates.
Proceedings of the Functional Programming, 1992