We implemented a whole chess engine in lisp during 3rd year it was really trivial actually implementing the legal move/state checking.