This repository has been archived by the owner on Nov 4, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
topics.tex
51 lines (40 loc) · 2.52 KB
/
topics.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
% practical 1
\newcommand{\practicalOneTitle}{Getting started}
\newcommand{\practicalOneDate}{7-11 January}
\newcommand{\practicalOneAims}{You will learn how to use some of the tools that we will be using as part of this module.}
% practical 2
\newcommand{\practicalTwoTitle}{Types \& list comprehensions}
\newcommand{\practicalTwoDate}{14-18 January}
\newcommand{\practicalTwoAims}{This lab teaches you to understand type errors and how to fix them. You will also learn about list comprehensions.}
% practical 3
\newcommand{\practicalThreeTitle}{Recursive \& higher-order functions}
\newcommand{\practicalThreeDate}{21-25 January}
\newcommand{\practicalThreeAims}{By the end of this lab, you should be able to solve problems by writing recursive and higher-order functions.}
% practical 4
\newcommand{\practicalFourTitle}{User-defined types}
\newcommand{\practicalFourDate}{\parbox{2.2cm}{28 January-\linebreak 1 February}}
\newcommand{\practicalFourAims}{You will define your own types and functions which work with them.}
% practical 5
\newcommand{\practicalFiveTitle}{Lazy evaluation and equational reasoning}
\newcommand{\practicalFiveDate}{4-8 February}
\newcommand{\practicalFiveAims}{The goal of this lab is for you to be able to write programs which make effective use of lazy evaluation, such as for backtracking or infinite data. You will also prove some properties about your programs using equational reasoning and structural induction.}
% practical 6
\newcommand{\practicalSixTitle}{Functors}
\newcommand{\practicalSixDate}{11-15 February}
\newcommand{\practicalSixAims}{You will write programs using functors.}
% practical 6b
\newcommand{\practicalSixBTitle}{Applicative functors}
\newcommand{\practicalSixBDate}{18-22 February}
\newcommand{\practicalSixBAims}{You will write programs using applicative functors.}
% practical 7
\newcommand{\practicalSevenTitle}{Foldables}
\newcommand{\practicalSevenDate}{\parbox{2.4cm}{25 February-\linebreak 1 March}}
\newcommand{\practicalSevenAims}{In this lab, you will write programs using foldables.}
% practical 8
\newcommand{\practicalEightTitle}{Effectful programs}
\newcommand{\practicalEightDate}{4-8 March}
\newcommand{\practicalEightAims}{You will write programs using monads, define your own instances of the \haskellIn{Monad} type class, and reason about monad laws.}
% practical 9
\newcommand{\practicalNineTitle}{Type-level programming}
\newcommand{\practicalNineDate}{11-15 March}
\newcommand{\practicalNineAims}{You should be able to write simple programs at the type-level using GADTs and type families.}