Collection of sources used or discussed in the course.
| |
|
Module |
Source |
referred to in: |
| |
|
|
| |
Lectures |
|
|
| |
|
- Temperature
- Defines a type Temperature with several conversion routines as well as tests against specifications.
|

|
- Programming Foundations, Algebraic Types
|
| |
|
- Bike_Computer
- Defining types and simply continuous functions. The code has been programmed interactively in the lecture and some code fragments might only make sense if you listen to the accompanying lecture recording.
|

|
- Programming Foundations, Algebraic Types
|
| |
|
- Sorting
- Contains mergesort, insert_sort and quicksort, as well as the accompanying test routines.
|

|
- Programming Foundations, Algebraic Types
|
| |
|
- Boolean_XOr
- Six ways to define this boolean function.
|

|
- Abstract Types
|
| |
|
- Rational_Pi
- Defines a more precise version of pi.
|

|
- Abstract Types
|
| |
|
- Pattern_matching
- Showcases a common pitfall with rigid and flexible length pattern matching.
|

|
- Algebraic Types
|
| |
|
- Live_Recursion (& Integer_Subtypes)
- Code from the live programming lecture about recursion. The code has been programmed interactively in the lecture and some code fragments might only make sense if you listen to the accompanying lecture recording.
|
 
|
- Algebraic Types
|
| |
|
- Is_Element
- Four ways to define an "is element of list" function.
|

|
- Algebraic Types
|
| |
|
- Fractal_Tree
- A recursive function to draw a tree based on a single shape.
|

|
- Algebraic Types
|
| |
|
- Geometry
- Includes the Vector_3D definition and operations, as well as the definition of basic Geometry.
|

|
- Algebraic Types
|
| |
|
- Binary_Trees
- Defines a binary Tree data structure with basic operations.
|

|
- Algebraic Types
|
| |
|
- Balanced_Trees
- Code from the live programming lecture about algebraic data types. The code has been programmed interactively in the lecture and some code fragments might only make sense if you listen to the accompanying lecture recording.
|
 |
- Algebraic Types
|
| |
|
- AVL_Trees
- Self-balancing tree implementation, based on the original design by G. M. Adelson-Velskii and E. M. Landis from 1962.
|
 |
- Algebraic Types (comp1130)
|
| |
|
- Mapping_and_Folding
- Motivation and examples for higher order functions.
|

|
- Modular Programming
|
| |
|
- Sets
- A module for sets based on equality alone.
|

|
- Modular Programming
|
| |
|
- Sets_Ordered
- A module for sets based on order.
|

|
- Modular Programming
|
| |
|
- Sets_Binary_Search
- A module for sets based on order and binary search trees.
|

|
- Modular Programming
|
| |
|
- Tables
- Tables_Ordered_Keys
- Tables_Types
- Tables_Implementation
- A module for sets based on order and binary search trees.
|




|
- Modular Programming
|
| |
|
|
|
|
| |
|
|
| |
Laboratories |
|
|
| |
|
Lab 2: Linux and the Haskell interpreter: num_words.hs |
 |
Lab 2 |
| |
|
Lab 4: Functions: ZellersCongruence.hs |
 |
Lab 4 |
| |
|
|
|
|
| |
Assignments |
|
|
| |
|
Wireworld code base |
(tgz)
(zip) |
Assignment 1 |
| |
|
Compression algorithms code base |
(tgz)
(zip) |
Assignment 2 |
| |
|
|
|
|