Chapter 7 of Essentials of Programming Languages (EoPL) has a nice introduction to some basic topics including type checking and type inference.
It's a nice gradual introduction, and help me get started with TaPL (although I wish I could say I'd made much progress).