On Unix systems you can do System.system "clear" which just invokes the command-line utility clear. For a solution that does not depend on external tools, you'd need a library that abstracts over different terminal-types like for example ansi-terminal.
ansi-terminal: Simple ANSI terminal support, with Windows compatibility
You can find it in Hackage and install using cabal install ansi-terminal. It specifically has functions for clearing the screen, displaying colors, moving the cursor, etc.
Using it to clear the screen is easy: (this is with GHCI)
On a terminal that understands ANSI escape sequences (I believe every term in Unix/Linux systems) you can do it simply with:
clear = putStr "\ESC[2J"
The 2 clears the entire screen. You can use 0 or 1 respectively if you want to clear from the cursor to end of screen or from cursor to the beginning of the screen.
However I don't think this works in the Windows shell.