Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

When was the GHC Haskell2010 first included in the Haskell Platform, and when were the Haskell98 style modules hidden?

Tags:

haskell

ghc

We currently have a little trouble in our project, as we've found that in the new GHC versions the old modules like Char are hidden by default, and instead the new modules (like Data.Char) are the default. I'm now trying to figure out with which version the Data., Control. etc Modules were introduced, and which GHC version first hid Packages like Char.

like image 944
Cubic Avatar asked Apr 25 '12 17:04

Cubic


1 Answers

The hierarchical modules were introduced in antiquity (they already were around in the early ghc-6.* versions, digging in old releases indicates the hierarchical modules were introduced during the ghc-5.* era, around 2002/2003), and the haskell98 modules were hidden by default with ghc-7.2 since there were enough changes that haskell98 became incompatible with base.

From the release notes of 7.2.1:

1.5.12.13. haskell98

Version number 2.0.0.0 (was 1.1.0.1)

It is no longer possible to use the haskell98 package with the base package, as it now includes the Prelude and Numeric modules. The haskell98 package is therefore now hidden by default.

The options for your project are to make it depend on haskell98 and not on base, or to update your imports to use the hierarchical modules.

The latter is the recommended path, unless you specifically depend on some Haskell98 features that were changed. The former rules out the use of many packages depending on base.

like image 130
Daniel Fischer Avatar answered Nov 30 '22 17:11

Daniel Fischer