Last modified: 2017-09-09
This is a course page of
David Casperson
Associate Professor
Computer Science
University of Northern British Columbia

CPSC 370 — Functional and Logic Programming — Fall 2017


Haskell Scheme (Racket) Prolog

Haskell Resources

Flavours of Haskell
Haskell is quite standardized. Most people are using Haskell 2010, the 8.0.1 version. There have in the past been a number of different developers of Haskell tools, but currently the scene is dominated by the Glasgow Haskell Compiler, which is included in the package mentioned below.
Downloading Haskell
The starting point for mosk Haskell related information is the Haskell website.

Under Downloads you will find multiple options for what to download. For Fall 2017, I suggest getting a Haskell platform; and under platforms, choosing a minimal platform.

Online books

Racket (Scheme) Resources

Flavours of Lisp

Lisp is a very old programming language that has split into a number of variants. Two common ones are Common Lisp and Scheme. The latter is more purely functional and fully standardized.

Racket is a flavour of Scheme, or more accurately, a system that provides a number of programming languages, including fully standard-compliant Scheme, and Racket, which is an industry ready research variant on Scheme.

Downloading Racket
Click the Download tab at to find the appropriate package to dowload.
Racket Documentation
Racket has complete self-contained documentation including a User's Guide, a Reference Manual, and search functions for search them.
Library books
The following texts are available in the UNBC Library.
  • Daniel P. Friedman and Matthias Felleisen, The Little Schemer, fourth edition, The MIT Press, 1996, Do not let the apparent simplicity fool you! This is a deep book..
  • Daniel P. Friedman and Matthias Felleisen, The Seasoned Schemer, The MIT Press, 1996, even deeper.
up to top

Prolog Resources

Flavours of Prolog
The most common flavours of Prolog are SICStus Prolog, SWI Prolog, and GNU Prolog, the first being commercial, the latter two being free. For CPSC 370 — Fall 2017, I recommend using SWI Prolog.
SWI download sites
SWI Prolog can be downloaded from here. The Mac OS 10.6 (and later) version was straight-forward to install. I have not tried any of the other flavors.
There is some support for Prolog editing built in to Emacs, but a better mode for Emacs editing of Prolog code can be found on Stefan D. Bruda's Emacs mode page (here).
Prolog References
The library has:
up to top
Home page Semesters Site Map
go back Fall 2017 go forward
2017-09 other links

CPSC 370 [Other years]
David’s Schedule

UNBC Undergraduate Calendar