Andy Gill
Assistant Professor

Electrical Engineering and Computer Science
School of Engineering
The University of Kansas

Email:andygill at ku.edu
Phone:+1 785-864-8817 (Eaton) /
+1 785-864-4712 (ITTC)
Address:The University of Kansas,
2001 Eaton Hall,
1520 West 15th Street,
Lawrence, KS 66045-7621
Office:Room 2024 (Eaton) / Room 134 (Nichols Hall)
Links:PublicationsBioTimberKUREConferences

Research

Functional languages are a productive medium for expressing algorithms and solving specific classes of problems. When functional languages are applicable, they are amazingly effective. A well written functional program is a concise executable specification of a solution to a problem.

My research program improves both the applicability and effectiveness of functional languages by creating language extensions, compiler technologies, and offline translation technologies. We then deploy these new technologies into diverse application areas, including telemetry and real-time systems. The scope and influence of these ideas is larger than simply their use inside our functional language community. The long term goal of our community at large is to change how we build software and design hardware.

Here is a summary of my projects, students, and external collaborations.

Projects

2009-2010
Efficient Hardware Implementation of Iterative FEC Decoders.

On this project we will be using a functional language based hardware description compiler developed at KU to render VHDL. The PI on this project is Erik Perrins.

Students

  • Vijayanand Manickam, MS expected 2009.
I have one opening for another MS or PhD student.

Tools

2006-
Haskell Program Coverage (HPC) is a high-fidelity coverage tool for Haskell, now in widespread use throughout the Haskell community.
2008-
KURE is a Haskell-hosted DSL for authoring rewriting systems, and in use in various research projects at KU.

External Projects, Partnerships, and Collaborations

TIMBER is a prototype of a Haskell based language for real-time systems. We use TIMBER to investigate expressing hard and soft real-time constraints using functional languages, as well as hardware generation issues.

The Glasgow Haskell Compiler is the premier Haskell compiler, currently being maintained as an open source project from inside Microsoft Research, Cambridge. Like many other groups in the functional language community, we use this compiler as a test-bed for our ideas.

Teaching

Spring
2009

EECS 690/700 Functional Programming teaches how to solve engineering problems efficiently in a modern functional language. Topics may include basic functional idioms, introduction to Haskell, IO and purity, functional data structures and algorithms, monads and applicative functors, parsing combinators, DSLs and hardware description DSLs, advanced type systems, making assurance arguments, testing and debugging. These topics will be explored using a hands-on style with case studies, program assignments and projects.

Fall
2008

EECS 368 Programming Language Paradigms is an introduction to programming language fundamentals. The objective of the course is to provide an introduction to alternative programming models that compliment the traditional imperative models taught in introductory courses. The course will provide theoretical insight into various aspects of modern languages while requiring hands-on development of programs using Java, Scheme, and Haskell.

Selected Publications and Recent Submissions

Submitted
A Haskell Hosted DSL for Writing Transformation Systems, Andy Gill, Submitted to the IFIP Working Conference on Domain Specific Languages, December 2008
The Worker Wrapper Transformation, Andy Gill and Graham Hutton, Submitted to the Journal of Functional Programming, November 2008
Recently
Published
Unrestricted Call-by-Value Recursion, Johan Nordlander and Magnus Carlsson and Andy Gill, ACM SIGPLAN Workshop on ML, September 2008
Asynchronous Exceptions as an Effect, William L. Harrison and Gerard Allwein and Andy Gill and Adam Procter, Ninth International Conference on Mathematics of Program Construction, July 2008
Haskell Program Coverage, Andy Gill and Colin Runciman, Proceedings of the 2007 ACM SIGPLAN Workshop on Haskell, September 2007
A lightweight interactive debugger for Haskell, Simon Marlow and José Iborra and Bernard Pope and Andy Gill, Proceedings of the 2007 ACM SIGPLAN Workshop on Haskell, September 2007

Recent and Future Professional Activities

Recent
PC Chair for the Haskell Symposium (HASKELL'08)
PC Member for Mathematically Structured Functional Programming (MSFP'08)
PC Member for the Haskell Workshop (HASKELL'07)