William Byrd

Relational programming and program synthesis

William E. Byrd is a researcher at the University of Alabama Birmingham. He is co-author of 'The Reasoned Schemer', and co-designer of the miniKanren relational programming language. Will is also interested in molecular biology, nanotechnology, and the history of writing.

Upcoming Activities

Nada Amin / William Byrd
Code Mesh V
Tutorial/ 05 Nov 2020
16.00 - 23.00

Reviving Truth-Maintenance Systems

A truth-maintenance system is a reasoning system that makes assumptions and revises beliefs. It can be used as a sub-component in an expert system. This workshop will provide an overview of truth-maintenance systems, their implementation and application.  Attendees will implement their own truth-maintenance system in the language of their choice, based on a micro version in Racket/Scheme. The applications will encompass expert systems, dialectical models and epistemic logic.



Advanced users



1 day



Advanced programmers, looking for a mind-blowing experience from the past.


  • Knowledge of  LISP a plus.
  • Please install Racket.



Learn, implement, and apply truth-maintenance systems.



  • Philosophy: facts versus justification
  • Dependency-directed backtracking
  • Truth Maintenance System: implementation and application
William Byrd
Code Mesh V
05 Nov 2020
15.20 - 16.00

What can we Learn from Pro-Gamers?

Professional players of strategy games such as chess, go, and StarCraft spend much of their time and energy finding new ways to *efficiently* improve their performance in these demanding games. Which practices and ideas can we adopt from these communities, in order to improve our own abilities as programmers? In particular, are there approaches to training and coaching, focused on deliberate practice, that we can develop to reduce the time and effort required to hone our technical skill, and develop our own unique personal styles?