Personal tools

No import of Prelude

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
m (Question: grammar)
m (Question)

Revision as of 02:49, 4 December 2010

1 Question

Is it possible to not load the Prelude when compiling a Haskell module?

2 Answer

You can either do

import Prelude()

or add

{-# LANGUAGE NoImplicitPrelude #-}

to the top of the module, or equivalently compile with -fno-implicit-prelude option.

import Prelude()
is less aggressive than NoImplicitPrelude.

E.g. with the first method some functions are imported which are silently inserted for several syntactic constructs.

A bare untyped integral number is rewritten as
fromIntegral num
(so its type will be
Num a => a

and list generation syntax is rewritten as follows:


There are some such for which even -fno-implicit-prelude isn't enough; I think these are documented in the "bugs" section of the GHC manual.

3 See also