
* On Tuesday, May 11 2010, Ivan Lazar Miljenovic wrote:
Norbert Zeh
writes: One way to "fix" this would be to expect everyone running darcs xmonad to use the latest version of containers, but I'm not sure that's reasonable. Another alternative I see is to use CPP to include home-brewed versions of filter and breakl directly in GroupNavigation if the detected GHC version is < 6.12. Any suggestions from the people with authority (Don, Spencer, Adam, ...) as to what the preferred solution is?
The source of filter seems to be straightforward; maybe just copy it directly and not worry about CPPing?
-- | /O(n)/. The 'filter' function takes a predicate @p@ and a sequence -- @xs@ and returns a sequence of those elements which satisfy the -- predicate. filter :: (a -> Bool) -> Seq a -> Seq a filter p = foldl (\ xs x -> if p x then xs |> x else xs) empty
Right, so we could substitute the definitions when the the containers version that cabal specifies is too low (see attached ugly patch). containers-0.3.0.0 should build with older GHCs. It would be much easier to manage if we could just require a newer containers: maintaining those macros is a fair amount of work. Is that allowed, or is it too great a concern that this adds one more dependency to fetch for users with older GHCs? -- Adam