William E. Byrd, PhD

webyrd@indiana.edu
(812) 320-8505

Office: Lindley Hall, Room 230A

CV

Curriculum Vitae (PDF file)

Selected Publications

Theses

William E. Byrd
Relational Programming in miniKanren: Techniques, Applications, and Implementations.
Indiana University, Bloomington, IN,
September 30, 2009.
[Full Document (PDF file)]

Books

Daniel P. Friedman, William E. Byrd and Oleg Kiselyov
The Reasoned Schemer.
The MIT Press, Cambridge, MA, 2005.

Refereed conference and workshop papers

Andrew W. Keep, Michael D. Adams, Lindsey Kuper, William E. Byrd, and Daniel P. Friedman.
A Pattern-matcher for miniKanren -or- How to Get into Trouble with CPS Macros
In Proceedings of the 2009 Workshop on Scheme and Functional Programming,
Cal Poly Technical Report CPSLO-CSC-09-03, pp. 37-45, 2009.
[Full proceedings (PDF file)]

Joseph P. Near, William E. Byrd and Daniel P. Friedman.
alphaleanTAP: A Declarative Theorem Prover for First-Order Classical Logic
In Proceedings of the 24th International Conference on Logic Programming (ICLP 2008),
LNCS vol. 5366, Springer-Verlag, Heidelberg, pp. 238-252, 2008.
[Full paper (PDF file)]
[Complete source code--R6RS Scheme and Prolog (.zip file)]

Oleg Kiselyov, William E. Byrd, Daniel P. Friedman and Chung-chieh Shan
Pure, declarative, and constructive arithmetic relations (declarative pearl)
In Proceedings of the 9th international symposium on functional and logic programming,
ed. Jacques Garrigue and Manuel Hermenegildo, pp. 64-80.
LNCS vol. 4989, Springer, 2008.
[Full paper (PDF file)]

William E. Byrd and Daniel P. Friedman
alphaKanren: A Fresh Name in Nominal Logic Programming
Proceedings of the 2007 Workshop on Scheme and Functional Programming,
Universite Laval Technical Report DIUL-RT-0701, pp. 79-90.
[Full paper (PDF file)]
[Author's revised version (recommended) (PDF file)]
[Revised R5RS-compliant source code (.scm file)]

William E. Byrd and Daniel P. Friedman
From Variadic Functions to Variadic Relations: A miniKanren Perspective.
Proceedings of the 2006 Scheme and Functional Programming Workshop,
University of Chicago Technical Report TR-2006-06, 2006, pp. 105-117.
[Full paper (PDF file)]

Teaching

C311 Programming Languages (undergraduate)
Associate Instructor, Spring 2009, Fall 2008, Spring 2008, Fall 2007, Spring 2007, Fall 2006, Spring 2006, Fall 2005, Spring 2005, Fall 2004, Spring 2004

B521 Programming Languages (graduate)
Associate Instructor, Fall 2008, Fall 2007, Fall 2006, Fall 2005, Fall 2004

C211 Introduction to Computer Science (undergraduate)
Course Instructor, Summer 2005
Associate Instructor, Honors Section, Fall 2003

miniKanren Resources

Kanren SourceForge site