Modules contain functions, types, type classes etc. Programs are a collection of modules.

Everything we’ve played with so far (foldr, map, sum etc) are part of the prelude module, this is imported to a haskell program by default.