No import of Prelude
From HaskellWiki
(Difference between revisions)
m (→Question: grammar) |
(→Answer: Added newer -X version of command line switch) |
||
| (One intermediate revision not shown.) | |||
| Line 1: | Line 1: | ||
== Question == | == Question == | ||
| - | Is it possible to not load the Prelude | + | Is it possible to not load the Prelude when compiling a Haskell module? |
== Answer == | == Answer == | ||
| Line 15: | Line 15: | ||
{-# LANGUAGE NoImplicitPrelude #-} | {-# LANGUAGE NoImplicitPrelude #-} | ||
</haskell> | </haskell> | ||
| - | to the top of the module, or equivalently compile with <code>-fno-implicit-prelude</code> option. | + | to the top of the module, or equivalently compile with <code>-XNoImplicitPrelude</code> (or older <code>-fno-implicit-prelude</code>) option. |
<hask>import Prelude()</hask> is less aggressive than <code>NoImplicitPrelude</code>. | <hask>import Prelude()</hask> is less aggressive than <code>NoImplicitPrelude</code>. | ||
| Line 29: | Line 29: | ||
There are some such for which even <code>-fno-implicit-prelude</code> isn't enough; | There are some such for which even <code>-fno-implicit-prelude</code> isn't enough; | ||
I think these are documented in the "bugs" section of the GHC manual. | I think these are documented in the "bugs" section of the GHC manual. | ||
| - | |||
== See also == | == See also == | ||
Current revision
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 -XNoImplicitPrelude (or older -fno-implicit-prelude) option.
import Prelude()
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 asfromIntegral num
Num a => a
and list generation syntax is rewritten as follows:
[n..]
enumFrom
[n..m]
enumFromTo
[n,o..]
enumFromThen
[n,o..m]
enumFromThenTo
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
- Haskell-Cafe: Not to load Prelude
