CS 3304: Comparative Languages

Spring 2007

Instructor

Dr. James D. Arthur
Email: arthur AT vt.edu
Office: 610 McBryde Hall
Office Hours: TTH 9:30AM - 10:45 AM or By Appointment

GTA

Xiaoyu Zhang
Email: zhangxy AT vt.edu
Office: McBryde 133A
Office Hours: M 4:00pm-5:00pm; W 6:30pm-7:30pm (218 McBryde Hall)

Objective

This course provides an in-depth study of current and historical issues in the design, implementation, and application of programming languages. Topics will vary from basic to advanced in areas such as syntax, semantics, binding, data abstraction, exception handling, concurrency, and functional, logic and object-oriented programming. A modest amount of programming will be required to help you get the feel for different types of languages.

Textbook

Required: Sebesta, Concepts of Programming Languages (7th Ed.)
Useful: Friedman and Felleisen, The Little Lisper
Clocksin and Mellish, Programming in Prologue
Abolrous, Learn Pascal in Three Days

Prerequisites

CS2604: Data Structures and File Management

Grading

Grading will be based on the following percentages:

Online Document for Scheme and Prolog

Scheme
Prolog

    How to install Prolog on Lab machines
  1. Download source file pl-5.6.33.tar.gz from SWI-prolog web site.
  2. Upload the source file to your home directory in the Lab machine. For example, user example's home directory is /home/ugrads/e/example.
  3. Unzip the file:
    > tar zxvf pl-5.6.33.tar.gz.
    A folder named pl-5.6.33/ will be generated.
  4. Go to the folder and configure the compile and installation environment:
    > ./configure --prefix=/home/ugrads/e/example/swi-prolog
    This step explicitly requires the prolog will be installed to swi-prolog directory under user's home directory.
  5. Compile and install
    >make
    >make install
    After this step, prolog should be installed.
  6. Run the prolog
    >/home/ugrads/e/example/swi-prolog/bin/pl

    If you would like to type a short command instead of the full path to the prolog, add the following alias into your .bash_profile.
    alias plg="/home/ugrads/e/example/swi-prolog/bin/pl". When next time you login, or type
    > . ~/.bash_profile
    to apply the alias. Run the short command plg to start prolog:
    >plg

Program Assignment