Programming in Martin-Lof Type Theory (1990)