CPSC 499 — Advanced Functional Programmming — Winter 2019
course outline
(printable pdf version).
- Topics
-
from (not necessarily in the order listed)
exploring strictness,
advanced pattern-matching syntax,
purely functional data structures,
standard type classes (box
, Monoid, Foldable,
Traversable, Functor, Applicative, monads, and
monadic transformers),
polymorphic recursion,
fixed-point operators at both the value and type level,….
- Attendance:
-
Attendance in this course is the student's responsibility and is
not monitored by the instructor. Students are entirely responsible for
being aware of material discussed in lecture, even if they are
unavoidably prevented from attending.
- Marking Scheme Changes:
-
I reserve the right to change weightings given in the marking scheme on
the course outline. Students are guaranteed that their letter grade
will not decrease as the result of such a change.
- General
-
-
Discussion of assignment topic is encouraged but all
assignments must be done independently.
-
Discussion participation is mandatory.
- References
- Definitive definitions
-
Language and library definitions can be found at
- The
Haskell 2010 Language Report.
- (or as a
.pdf,
or it can be downloaded as a git repository.)
- The
entire Haskell Hierarchy Library
- including source code is online.
-
There is a lot of good reference material directly at
https://www.haskell.org/
documentation
link. Of particular interest:
- The
Haskell 2010 Language Report.
- (or as a
.pdf,
or it can be downloaded as a git repository.)
- Books
-
-
Learn You a Haskell for Great Good!
-
This is a funky text with lots of good information presented
in a fun way.
-
Real World Haskell
-
A good book for practical programming. If you want to be able
to do in Haskell what you can do
in Java, this is a good book to
look at.
- Tutorials
- Elsewhere
-
Not directly mentioned on the Haskell.org web-site is
- Purely Functional Data
Structures by Chris
Okasaki.
This book is an excellent guide to how amortized complexity
calculations can be handled in a lazy context, and provides a
wealth of practical, CPSC 281 like, material.
- Important Information
-
Important information will be posted here from time to time.
- 2019-01-06
- Web-page updated.
- 2018-12-30
- Web-page created.
- Grading Scheme
-
Report
| 20% |
Participation | 50% |
Homework | 30% |
- Policies
- Course
policies can be
found here.
- Handouts
-
- Links
-
- Course Dates
-
Homework | Occasional. Assigned in meetings |
Report | see here. |
Winter Break |
2019-02-19 to 2019-02-19.
|
Course Evaluation |
2019-03-29 Friday |
Last Class |
2019-04-05 Friday
|
Final |
There is no final.
|
Good Friday |
2019-04-19 |
Easter Monday |
2019-04-22 |
Other dates can be found on the
University web-site here.
- Instructor
- Dr David Casperson
(contact information).
- Text
- none.
See the
references section.
- Rooms and Hours
-
This is a reading course. Meeting times are normally
Friday, 10am in 8-361.