CPSC 449: Principles of Programming Languages -
| December 16, 2013
|| The results of the final exam can be
| November 16, 2013:
|| Here is some additional information for the
gprolog, the PROLOG version you have to do your
assignment in, allows for compilation and consequently
for command-line arguments, so that we expect your systems
to be compilable and then to be run as indicated in the
news from September 30 below.
The file readArg.pl demonstrates
how to read in the first command-line argument via the
argument_value predicate and then outputs it twice
(argument_value(2,Y) would bind the second command-line
argument to Y).
You would use
gplc -o readArg --no-top-level readArg.pl
to create an executable named readArg that you then can run
under Unix as any other executable with appropriate
| September 30, 2013:
|| Some additional information about the
Your systems should read their input from file and also
write to a file. So, if your system is called mysystem,
the input file is myinput and the file for the output
is myoutput, the command for running your system should
mysystem myinput myoutput
Your system should also be able to handle any additional
blanks at the end of a line in the input file and also
any additional empty lines between lines.
is a minimalistic example of an input file.
| September 3, 2013:
|| Course web site gone live.
| July 15, 2013:
|| Course web site started.
Description of the course
According to Calendar:
Examination of the basic principles of the major programming language
paradigms. Focus on declarative paradigms such as functional and logic
programming. Data types, control expressions, loops, types of
references, lazy evaluation, different interpretation principles,
- (CPSC 319
or CPSC 331) and (PHIL 279 or PHIL 377)
The labs will be aimed at deepening your understanding of the
concepts presented in the lectures and in answering questions that
you did not immediately have while the material was presented in the
The labs will start in the second week of the semester (i.e. beginning
January 19) and participation in the first lab
is required since you will form the teams that will do the
assignments in this lab! This especially means that all members of a
team have to be in the same lab (we allow students to change labs
before the teams are formed).
|| to an explanation of the assessment of the students
taking the course.
Last Change: 16/12/2013