Do not change the name of any function that you are asked to define. If the question asks you to define a function called mostlyTrue, then make sure that the function you write has the same name. Remember that Haskell is case sensitive. Functions that are wrongly named will not fetch any marks.
You must provide a type for every function you write, even though Haskell does not require this.
If you need any auxiliary functions that are not explicitly mentioned in the question, you are free to use any name that you want for these functions.
Test your code, not only with correct inputs, but also with erroneous inputs. Take care to handle extreme cases like negative indices into a list, infinite recursion etc.
If the syntax of your function is wrong (that is, hugs/ghci refuses to load the file containing the function), you will get no marks.
The solution to Assignment N should be sent in a file called assign-N.hs. If an assignment has multiple questions, submit the answer to each question in a separate file. The solution to question M in Assignment N should be submitted in a file called assign-N-M.hs. For example, the solution to question 4 in assignment 2 should be submitted in a file called assign-2-4.hs.
Each file should be self contained, so you should add in the same file any auxiliary functions that you need in order to define the function that the question asks for.
Send your solutions to me by email. The Haskell files should be named according to the convention above and should be attachments to our email.
Indicate the assignment number that you are submitting in the Subject of the mail.
Deviations from these guidelines will, in general, cost you marks.