Pan (image synthesis)
Fran (Functional reactive animation)
Conal -- May 2011

Conal Elliott


September 2022 Invitation for collaboration and mentoring.
August 2022 Interview (part 2): Denotational Design.
May 2022 Interview (part 1): The Lost Elegance of Computation.
March 2021 Paper: Symbolic and Automatic Differentiation of Languages. Appeared at ICFP 2021.
August 2020 I am open to employment and collaboration opportunities, including mentoring. If you have a project and/or group you think matches my skills and interest, please let me know.
February 2020 I'm no longer with Target.
March 2019 Paper: Generalized convolution and efficient language recognition
March 2018 Paper: The simple essence of automatic differentiation
February 2017 Paper: Compiling to categories
February 2017 Paper: Generic parallel functional programming
June 2016 Joined Target as distinguished scientist, working in data sciences and optimization, continuing to explore elegant and principled techniques from math and programming language theory for building fast, correct, and beautiful software, including rethinking parallel programming and machine learning.
January 2015 Sadly, Tabula closed down.
October 2011 I'm working at Tabula and having a great time. I'm helping with chip specification and working out how to compile Haskell to hardware.
May 2009 Paper: Push-pull functional reactive programming
March 2009 Paper: Beautiful differentiation
March 2009 Paper: Denotational design with type class morphisms
January 2008 New technical blog
November 2007 Google tech talk: Tangible Functional Programming: a modern marriage of usability and composability
October 2007 The paper Functional Reactive Animation, co-authored with Paul Hudak, was awarded as the most influential paper of ICFP '97.
July 2007 My paper Tangible Functional Programming was accepted and will appear in ICFP 2007. Paper slightly updated.
April 2007 I've moved from the Seattle area to San Andreas, CA


Here is my CV as a PDF (updated June 28, 2021).


See my software repositories on GitHub and Hackage.

Publications (link)

Blog (link)

Some talks

Academic Background

Compassionate Communication

Since April of 2003, I have been learning and practicing nonviolent communication (NVC), also called "compassionate communication". NVC is a consciousness and small set of inner and outer practices designed to nurture compassion in ourselves and others by how we speak and listen. Together with my partner Holly, I do training, mediation, and empathic listening for groups, couples, and individuals. Our working partnership is called Awakening Compassion.

My interest is in living and sharing the consciousness of NVC, rather than a particular process or model, i.e., the "sacred place" rather than the "raft". (See this dialog.) For this reason, I have chosen internal rather than external certification and have seeded two community-open web sites aimed at evolving NVC practice into deeper alignment with NVC consciousness.

Favorite quotations (link)


spikey ball seen in Florida I first saw this spiky ball high up on a rotating post in a used car lot somewhere in Florida. Here are a bigger version (256x256, 24 bit, 30f/s AVI, 866 KB), and a really big version (512x512, 2.15MB). Turn on the auto-repeat property in the AVI viewer to keep it running.
Here's a lovely fractal I happened upon.
Click on it for more info.

Utero Universalis
© Conal Elliott 1999

utero universalis and other fractals

See the web site of Fr. Magnus Wenninger, OSB, containing pictures of many beautiful polyhedra he has constructed by hand. I had the honor of meeting Fr. Wenninger during the Mosaic 2000 conference in Seattle. Here is a polyhedron he made while there.

Contact Information

If my conal-dot-net email breaks, please resend to first.last-at-gmail-dot-com.

You can also catch me via Google Hangouts, Skype (first_last), or #haskell IRC (first).

I am on Twitter, FaceBook, and LinkedIn.

My last name really, really does end in two "t"s. Honest.

Visitor Count: since November 20, 1998.