Functional Programming in Haskell

Due Monday Sept 9th @ 9 am

From this assignment, students will show...

Software Ecosystem and Development - Recall

by using the project management software stack to manage a haskell project with multiple files and import libraries.

Abstractions and Representations - Recall

by designing and using an internal representation using algebraic data types and exporting an abstract interface using code hiding and modules.

Functional Programming - Recall

by completing small functional programming examples to implement the familiar tools from scheme and ML.

You will need...

Let's begin

  1. Pull the latest Exemplars Github Repo
  2. Copy the hw01-1-functional-programming-in-haskell into the hw01-1 directory in your private repo.
  3. Fill in the undefined expressions in the src/Lib.hs
  4. and run the test suite.
  5. Instantiate a definition for the Logger ADT and finish its abstract API.
  6. Translate the unsugared main function in app/Main.hs into do notation .
  7. In the hw00-1 directory in your private repo, please create a file META.md with:

Step-by-step instruction

Correction: learning objectives for this homework should be as they appear on the site

Some Basics

ADTs

using IO and do notation

META.md

META.md should include

  1. your name
  2. your utln
  3. how much time you spent on this assignment
  4. the witness "proof" for how you earned each learning objective

Please Submit

Contents to be submitted

Method of submission

Please commit your changes in the hw01-1 directory of your private repo and push them to the remote server before 9am on Monday 9/9. We will run the script that pulls them from the remote server promptly at the beginning of class. See the syllabus or email the instructors if you have any questions.