in descending order of usage:

  1. The main course textbook:
    H. Abelson and G.J. Sussman: Structure and Interpretation of Computer Programs. The MIT Press. 2nd edition. 1996.
    http://mitpress.mit.edu/sicp/full-text/book/book.html

  2. Textbook for type related sections and for MLchapter (6).
    L. Paulsen: ML for the Working Programmer. 2nd ed. 1996. Cambridge university press.

  3. Textbook for the logic programming chapter (7).
    Leon Sterling & Ehud Shapiro, The Art of Prolog, MIT Press, 1986.

  4. Textbook for the contracts related subjects:
    M.Felleisen, R.B.Findler, M.Flatt and S. Krishnamurthi: How to Design Programs. 2003. The MIT Press.
    http://www.htdp.org/2003-09-26/Book/

  5. Friedman:
    D.P. Friedman, M. Wand, C.T. Haynes: Essentials of Programming Languages. 2nd edition, MIT Press, 2001.

  6. Krishnamurthi:
    S. Krishnamurthi: Programming Languages: Application and Interpretation. Version 26.4.2007.
    http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-04-26/

  7. H.E. Bal and D. Grune: Programming Language Essentials. 1994. Addison-wesley.