By convention Haskell programs are written as text in a file with a .hs extension, e.g. lab.hs. I recommend having an editor window and an interpreter window open simultaneously. The updated program can be reloaded into ghci with :reload
To launch the Haskell interpreter, type ghci <fname> at the command line, e.g.
linux34% ghci lab.hs
___ ___ _
/ _ \ /\ /\/ __(_)
/ /_\// /_/ / / | | GHC Interactive, version 5.04.2, for Haskell 98.
/ /_\\/ __ / /___| | http://www.haskell.org/ghc/
\____/\/ /_/\____/|_| Type :? for help.
Loading package base ... linking ... done.
Loading package haskell98 ... linking ... done.
Compiling Main ( lab.hs, interpreted )
lab.hs:1: Warning: No 'main' defined in module Main
Ok, modules loaded: Main.
*Main>
At the command line you can type expressions, e.g.
*Main> length [1 .. 60] 60 *Main>or commands. Useful commands include
You can reuse many useful Haskell functions from the prelude (http://www.cs.uu.nl/ afie/haskell/tourofprelude.html) the standard libraries (http://www.haskell.org/onlinelibrary/), and other libraries (http://www.haskell.org/libraries/)