Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Henning Thielemann <lemming <at> henning-thielemann.de>
Subject: Re: Haskell platform proposal: split package
Newsgroups: gmane.comp.lang.haskell.libraries
Date: Friday 20th July 2012 21:25:47 UTC (over 5 years ago)
On Fri, 20 Jul 2012, Brent Yorgey wrote:

> Use of GHC.Exts
> ---------------
>
> At the request of a user, the 0.1.4.3 release switched from defining
> its own version of the standard 'build' function, to importing it from
> GHC.Exts.  This allows GHC to do more optimization, resulting in
> reported speedups to uses of splitEvery, splitPlaces, and
> splitPlacesBlanks.  However, this makes the library GHC-specific.  If
> any reviewers think this is an issue I would be willing to go back to
> defining build by hand, or use CPP macros to select between build
> implementations based on the compiler.

You could provide two private modules with the same name in different 
directories, one that re-exports 'build' from GHC.Exts and one with a 
custom definition of 'build' for non-GHC compilers. Then set 
'Hs-Source-Dirs' in Cabal according to the impl(ghc). No CPP needed, only 
Cabal. One could even think of a separate package for this purpose.


The only type extension you use, is GADTs, right? It looks like you use it 
for an Eq constraint in Delimiter/DelimSublist. That is, you actually need 
only ExistentialQuantification. Is it necessary?
 
CD: 3ms