Many programming assignments will be done with Haskell, here are a few pointers to get you started.
An easy way to interact with GHC is to edit your document, say, Foo.hs in your favourite editor (== Emacs, with haskell-mode), and invoke the GHC interpreter in a shell window:
> ghci -fglasgow-exts
The most commonly used commands are
:l Foo to load the module Foo (from your file Foo.hs)
:r to re-load the previously loaded module
:i x to inspect the value, type, ... x
:q to quit the interpreter
The compiler is invoked, for example as:
> ghci -fglasgow-exts --make
The --make option chases automatically which modules need to be
recompiled, so you don't have to write a Makefile yourself.
(Also GHC's analysis of what need to be recompiled is more fine grained,
thus faster).