昨日、いきなりghcとか使っていましたが、ちょっと説明。
Haskellには、コンパイラとしてghcや、インタプリンタとしてhugsなどが用意されています。
実行形式のプログラムを作りたい場合は、コンパイラでコンパイルしてあげます。このとき、main関数を作っていないと起こられます。
プログラムの実行を試したいときなどは、インタプリンタを使います。このとき、main関数は無くてよいです。hugsの場合、スクリプトのファイル(たとえばload.hs)を読み込むときは、
:l load.hs
とやれば、そのファイルを読み込み、関数が使えるようになります。