Enabling object code compilation may complicate type inference, since type information provided to the shell can sometimes be less informative than source-loaded code.This under specificity can result in breakage with some language extensions.Similarly, if the library predates the text library (released circa 2007), it probably should be avoided in production code.The way we write Haskell has changed drastically since the early days.Reusable Code / Building Blocks In the first philosophy, libraries exist as reliable, community-supported building blocks for constructing higher level functionality on top of a common, stable edifice.In development communities where this method is the dominant philosophy, the author(s) of libraries have written them as a means of packaging up their understanding of a problem domain so that others can build on their understanding and expertise.GHCi is the interactive shell for the GHC compiler.
Several useful aliases rely on shell directory expansion to find the package database in the current working directory and launch GHC with the appropriate flags: and contains various options including credential information for Hackage upload.
A Staging Area / Request for Comments In contrast to the previous method of packaging, a common philosophy in the Haskell community is that Hackage is a place to upload experimental libraries as a means of getting community feedback and making the code publicly available.
Library author(s) often rationalize putting these kind of libraries up undocumented, often without indication of what the library actually does, by simply stating that they intend to tear the code down and rewrite it later.
That said, there are also quite a few phenomenal libraries on Hackage that are highly curated by many people.
As a general rule, if the Haddock documentation for the library does not have a minimal worked example, it is usually safe to assume that it is an RFC-style library and probably should be avoided in production-grade code.
Hackage is the upstream source of Free and/or Open Source Haskell packages.