Ryan Culpepper
I am currently a research scientist at Northeastern University, College of Computer and Information Science.
Previously I was a post-doc at the University of Utah, School of Computing. Before that I was a graduate student at Northeastern University. My advisor was Matthias Felleisen.
1 Teaching
CS 5010 Program Design Paradigms (“Bootcamp”) Spring 2014
2 Publications
Ryan Culpepper. “Fortifying macros”. J. Functional Programming 2012.
Matthew Flatt, Ryan Culpepper, David Darais, Robert Bruce Findler. “Macros that work together”. J. Functional Programming 2012. See also model.
Sam Tobin-Hochstadt, Vincent St-Amour, Ryan Culpepper, Matthew Flatt, and Matthias Felleisen. “Languages as Libraries” PLDI 2011.
Ryan Culpepper and Matthias Felleisen. “Fortifying Macros” ICFP 2010.
Ryan Culpepper. Refining Syntactic Sugar: Tools for Supporting Macro Development Dissertation. College of Computer Science, Northeastern University. April 2010.
Eric Allen, Ryan Culpepper, Janus Dam Nielsen, Jon Rafkind, and Sukyoung Ryu. “Growing a Syntax” FOOL 2009.
Ryan Culpepper and Matthias Felleisen. “Debugging Hygienic Macros” Science of Computer Programming, July 2010.
Ryan Culpepper and Matthias Felleisen. “Debugging Macros” GPCE 2007.
Ryan Culpepper, Sam Tobin-Hochstadt, and Matthew Flatt. “Advanced Macrology and the Implementation of Typed Scheme” Scheme Workshop 2007.
Ryan Culpepper, Scott Owens, and Matthew Flatt. “Syntactic Abstraction in Component Interfaces” GPCE 2005.
Ryan Culpepper and Matthias Felleisen. “Taming Macros” GPCE 2004.
3 Talks
Designing macros with syntax-parse, RacketCon 2011. (slides) (video)
Database access and making low-level libraries Rackety, RacketCon 2011. (slides)
4 Software
sexp-rewrite, an Emacs package for defining and performing pattern-based rewrites for S-expression-based languages such as Racket, Scheme, and Lisp. Available from github.
scriblogify, a script for processing and uploading Scribble documents to blog sites such as Blogger. Available via PLaneT.
syntax-parse, a domain-specific language for writing macros and specifying syntax. Part of the Racket distribution.
The Macro Stepper, a graphical stepping debugger for Racket’s hygienic macro expansion process. Part of the Racket distribution.
db, a library for connecting to PostgreSQL, MySQL, and SQLite databases, as well as others via ODBC. Part of the Racket distribution.
RackUnit, a testing framework for Racket. With Noel Welsh. Part of the Racket distribution.
5 Contact
Email: ryanc@ccs.neu.edu, ryanc@racket-lang.org