Donald has a BSc in Physics and Astronomy from Glasgow University,and an MSc in Telecoms Engineering from Kings College, London.
Donald began programming in 1981, and became interested in Artificial Intelligence and Lisp shortly afterwards. Lisp is his favorite language, but he has also programmed in C, Java, Python, Prolog, Pascal, various assembly languages, and more recently in Solidity.
He has developed AI rule-based systems for fault recognition and routing in telecommunications systems, musical score generation from MIDI input, phonetics, and web page layout, and also used Lisp for document processing, and to develop a visual dataflow programming language, Full Metal Jacket.
He has had papers published on MORSE, a collaborative filtering system for movie recommendation, and on Full Metal Jacket. He has worked mostly in research and development, and is inventor/co-inventor on six patents in telecommunications, computer graphics, and musical score generation.
He has a personal web page at http://fmjlang.co.uk/, which has links to his papers and patents.