maintaining pre-AMP+FTP-Prelude in external package

Henning Thielemann lemming at
Wed May 13 11:50:17 UTC 2015

The Prelude of GHC-7.10/base-4.8 introduces several name clashes mostly 
due to the AMP and FTP: (<*) clashes with Accelerate, (<*>) clashes with 
NumericPrelude, (and (<>) would clash with HMatrix if added to Prelude), 
'join', 'pure', 'traverse', 'fold' clash with custom defined functions. 
"import Prelude hiding (pure)" is not yet supported by GHC-7.4 (as shipped 
with Ubuntu 12.04) and in newer GHC versions it generates an annoying 
warning. The only remaining option is to explicitly import identifiers 
from Prelude.

What about maintaining the pre-AMP+FTP-Prelude in a package on Hackage? 
Then we could maintain compatibility with a range of GHC versions by 
disabling import of Prelude and importing preamplified (so to speak) 
Prelude. The base-compat package seems to support the other way round, 
that is, providing new 'base' functions to old compilers.

More information about the Libraries mailing list