PLT
NU PLT
NU PRL
 
Books
  HtDP
  HtDP/3e
  On HtDP
  Sem. Eng.
  Realm of Racket
  Prog. Lang.
 
Research
  Publications
  Presentations
  JFP
  NSF: Gradual
 
Teaching
Programming
 
Thoughts
Professional Coordinates
Miscellaneous
 
Family
 
Home

Research

logo

I have two personal, intertwined research goals: learning how to design programs systematically and creating a language that helps me express my thoughts.

My first goal is to discover how to design programs, components, and programming systems systematically. I don't know any other way to understand design than to program and re-program and re-re-program small and large programs. As I am getting to understand what happens, I am writing things down in How to Design Programs, How to Design Components and How to Design Systems, ordinary text books at first glance but a second look will pay off. One day I may distill the ideas in to a small little book called How to Design.

My second goal is to design a programming language that supports the programming styles needed for my first goal. Racket is the evolving subject of this project. I recently had a chance to lead-author the Racket Manifesto, which spells out my perspective on this 20-year-old and on-going project. Please read the paper if you want to know what the Racket project is all about.

With my current and former students I work on a variety of projects in support of the Racket project:

Financial support for my research currently comes from NSF, DARPA, AFOSR, CISCO, and Mozilla. Past funding sources include CORD, US DoED, Exxon, Microsoft, and Texas ATP.


last updated on Thu Aug 31 09:05:43 EDT 2023generated with Racket