Elements of Programming, by Alexander Stepanov and Paul McJones. (via HN)