FYI: Current hackage-registered libraries which exclude base-4.4 from GHC 7.2

Hello GHC Users, Below is a list compiled from my current index-00.tar listing 292 packages whose version constraints on `base` seem (since I used a very simple Haskell script, I expect there to be some false positives) to exclude the `base` package version 4.4.0.0 bundled with GHC 7.2.1-rc1. Other changes that need to be considered when trying to fix packages for compilation w/ GHC 7.2: - integer-gmp has been updated to 0.3.0.0 - BangPatterns are not enabled by default anymore w/ GHC 7.2 - TypeSynonymInstances don't overlap w/ FlexibleInstances anymore - Data.Typeable API has changed (this breaks `uniplate` for instance) Package name Package Vers. ===================================================================================== 4Blocks 0.2 (base req: >=2 && <=4) AERN-Basics 2011.1.0.1 (base req: >=4 && <4.3) AERN-Net 0.2.1.1 (base req: >=3 / <4) AERN-Real 2011.1.0.1 (base req: >=4 && <4.3) AERN-Real-Double 2011.1.0.2 (base req: >=4 && <4.3 / >=4 && <5) AERN-Real-Interval 2011.1.0.1 (base req: >=4 && <4.3) AERN-RnToRm 0.5.0.1 (base req: >=3 / <4) AERN-RnToRm-Plot 0.2.0.3 (base req: >=3 / <4) Advgame 0.1.2 (base req: >=3 && <=4.1) Annotations 0.1.3 (base req: >=4.1 && <4.4) Attrac 0.1.3 (base req: >=2 && <4) BirdPP 1.0 (base req: >=2 && <4) BlogLiterately 0.3 (base req: >=4.0 && <4.3) ChasingBottoms 1.3.0.1 (base req: >=4.0 && <4.4) Coadjute 0.1.1 (base req: >=4 && <4.4) ConfigFileTH 0.1 (base req: >=4.2 && <4.3) ContArrow 0.0.5 (base req: <=4) DBlimited 0.1.1 (base req: >=2 && <4) DP 0.1.1 (base req: <=4.0) Decimal 0.2.0 (base req: ==4) DocTest 0.2.0 (base req: >=4.0 && <4.4) DrIFT-cabalized 2.2.3.2 (base req: <4) Encode 1.3.4 (base req: <=4.2) GenI 0.20.2 (base req: >=3 && <4) GlomeTrace 0.1.2 (base req: >=3 && <4) GlomeVec 0.1.2 (base req: >=3 && <4) Grempa 0.1.3 (base req: ==4.2.* || ==4.3.*) HDRUtils 1.0.2 (base req: ==4.1.0.0) HLogger 0.0.1.0 (base req: >=2 && <4) HPath 0.0.2 (base req: >=2 && <=4) HPlot 0.3 (base req: >=4.0 && <4.2) HTTP 4000.1.1 (base req: >=2 && <4.4) HXMPP 0.0.1.0 (base req: >=2 && <4) HaRe 0.6.0.1 (base req: >=4 && <=4.2.0.2 / >4 && <=5) HarmTrace 0.4 (base req: >=4.2 && <4.4) Hashell 1.0 (base req: ==3.*) Hieroglyph 3.89 (base req: ==4.1.0.0) Hricket 0.1 (base req: >=3 && <=4) HsHyperEstraier 0.4 (base req: ==4.3.*) HsSVN 0.4.3.2 (base req: ==4.3.*) IDynamic 0.1 (base req: ==4.1.0.0) IOSpec 0.2.2 (base req: >=2 && <4.4) IcoGrid 0.1.2 (base req: >=3 && <4) JsonGrammar 0.2 (base req: >=3.0 && <4.4) KiCS 0.9.2 (base req: ==4.1.*) KiCS-debugger 0.1.1 (base req: ==4.1.*) KiCS-prophecy 0.1.1 (base req: ==4.1.*) L-seed 0.2 (base req: ==3.*) LibZip 0.2.0.1 (base req: >=4.0 && <4.4) LslPlus 0.4.3 (base req: >=4.0 && <4.2) Lucu 0.7.0.2 (base req: ==4.3.*) MaybeT-monads-tf 0.2.0.1 (base req: >=4 && <4.4) Mhailist 0.0 (base req: <4) NewBinary 0.2.1 (base req: <=4) Omega 0.2.2 (base req: >=3 && <4) OpenAFP-Utils 1.3 (base req: -any / >=3 && <4) OpenCLRaw 1.0.1001 (base req: <=4.1.0.0) Operads 1.0 (base req: <=4) Paraiso 0.0.0.0 (base req: >=4.3.1 && <4.4) PermuteEffects 0.2 (base req: >=4.0 && <4.4) RESTng 0.1 (base req: <4) RefSerialize 0.2.7 (base req: >=3 && <4) ReplicateEffects 0.2 (base req: >=4.0 && <4.4) SVG2Q 0.3 (base req: >=4.0 && <=4.3) Shu-thing 1.1.2 (base req: <4) SoccerFun 0.5.1 (base req: >=4 && <4.3) SoccerFunGL 0.5.1 (base req: >=4 && <4.3) Stream 0.4.2 (base req: <4.4) SybWidget 0.5.4 (base req: >=4.1.0 && <4.3.0) TreeStructures 0.0.2 (base req: >=2 && <4) WL500gPControl 0.3.4 (base req: <4) WL500gPLib 0.3.1 (base req: <4) Win32-junction-point 0.0.1 (base req: >=4.0 && <4.4) Wired 0.2.2 (base req: >=3 && <4) Workflow 0.5.6 (base req: >=3 && <4) WxGeneric 0.6.1 (base req: >=4.1.0 && <4.3.0) applicative-quoters 0.1.0.1 (base req: >=4 && <4.4) assembler 0.0.1 (base req: <=0) babylon 0.2 (base req: >=3 && <4) benchpress 0.2.2.4 (base req: >=2.0 && <4.4) bindings-apr 0.1 (base req: ==4.2.*) bindings-apr-util 0.1 (base req: ==4.2.*) bindings-levmar 1.0 (base req: >=3 && <4.4) bindings-librrd 0.2 (base req: ==4.2.*) bindings-libzip 0.1.0.2 (base req: >=4.0 && <4.4) bluetileutils 0.2 (base req: >=3 / <4) buster 2.51 (base req: <=4.1.0.0) cabal2doap 0.2 (base req: >=3 && <4) case-insensitive 0.3 (base req: >=3 && <4.4) cblrepo 0.2.2 (base req: ==4.3.*) collections 0.3.1.1 (base req: >=3 && <4) compose-trans 0.0 (base req: >=2 && <=4) concurrent-extra 0.7 (base req: >=3 && <4.4) constructive-algebra 0.3.0 (base req: >=3 && <=4.3.1.0) containers-unicode-symbols 0.3.0.2 (base req: >=3.0.3.1 && <4.4) curry-base 0.2.8 (base req: >=3 && <4) curry-frontend 0.2.11 (base req: >=3 && <4) data-accessor-monadLib 0.0.1 (base req: <4.1) data-cycle 0.1.1 (base req: ==4.3.*) data-memocombinators 0.4.1 (base req: >=3 && <4.4) data-pprint 0.2 (base req: >=4.0 && <4.4) data-reify-cse 0.0.1 (base req: ==3.*) dataenc 0.14 (base req: >=3.0.0 && <4.4) deunicode 0.1 (base req: ==4.2.*) dgs 0.2 (base req: >=3 && <4) dia-base 0.1.1 (base req: >=4.0 && <4.4) dia-functions 0.2.1.1 (base req: >=4.0 && <4.4) diagrams-cairo 0.3 (base req: >=4.2 && <4.4) diagrams-core 0.3 (base req: >=4.2 && <4.4) diagrams-lib 0.3 (base req: >=4.2 && <4.4) directory 1.1.0.0 (base req: >=4.2 && <4.4) doctest 0.4.0 (base req: >=4.0 && <4.4) dstring 0.4 (base req: >=4 && <4.4) email-validate 0.2.6 (base req: >=2 && <4.4) emgm 0.3.1 (base req: >=3.0 && <4.0) enummapset 0.0.1 (base req: <4.4) error-message 1.1 (base req: >=4.1 && <4.3) estimators 0.1.4 (base req: >=3 && <4) estreps 0.3.1 (base req: >3 && <4) explicit-iomodes 0.6.0.2 (base req: >=4 && <4.4) explicit-iomodes-bytestring 0.1.0.2 (base req: >=4 && <4.4) explicit-iomodes-text 0.1.0.5 (base req: >=4 && <4.4) feed-cli 2009.7.5 (base req: <4) feldspar-compiler 0.4.0.2 (base req: >=4 && <4.4) feldspar-language 0.4.0.2 (base req: >=4 && <4.4) ffmpeg-tutorials 0.3.3 (base req: <4) fingertree-psqueue 0.2 (base req: <=4) fixed-point 0.5.0.0 (base req: ==4.3.*) fixed-point-vector 0.5.0.0 (base req: ==4.3.*) fixed-point-vector-space 0.5.0.0 (base req: ==4.3.*) forkable-monad 0.1.1 (base req: >3.0 && <4.4) fraction 0.0.1.0 (base req: >=3.0 && <4.1) frame 0.1 (base req: >=2 && <4) frame-markdown 0.1 (base req: >=2 && <4) ftdi 0.2.0.1 (base req: >=3.0.3 && <4.3) ftshell 0.3.0.1 (base req: >=1.0 && <4) fullstop 0.1.2 (base req: >=3 && <4.3) funion 0.0.2 (base req: -any / >=3 && <=4) funpat 0.1 (base req: >=4.2.0.2 && <4.4) funsat 0.6.2 (base req: -any / <4) geniconvert 0.20 (base req: <4.1) ghci-diagrams 0.1.1 (base req: >=4.0 && <4.4) glome-hs 0.61 (base req: >=3 && <4) grapefruit-examples 0.0.0.0 (base req: >=3.0 && <4.1) grapefruit-frp 0.0.0.0 (base req: >=3.0 && <4.1) grapefruit-records 0.0.0.0 (base req: >=3.0 && <4.1) grapefruit-ui 0.0.0.0 (base req: >=3.0 && <4.1) grapefruit-ui-gtk 0.0.0.0 (base req: >=3.0 && <4.1) graph-rewriting 0.5.2 (base req: >=4 && <4.4) graph-rewriting-cl 0.2.2 (base req: >=4 && <4.4) graph-rewriting-gl 0.6.5 (base req: >=4 && <4.4) graph-rewriting-lambdascope 0.4.8 (base req: >=4 && <4.4) graph-rewriting-layout 0.4.4 (base req: >=4 && <4.4) graph-rewriting-ski 0.5.6 (base req: >=4 && <4.4) graph-rewriting-trs 0.1.2 (base req: >=4 && <4.4) hSimpleDB 0.3 (base req: >=3 && <=4) haddock 2.9.2 (base req: ==4.3.*) haddock-leksah 2.6.0 (base req: >=4.0.0.0 && <4.3.0.0) hake 1.3.4 (base req: <=4.1.0.0) hamusic 0.1.2.1 (base req: <4) haskell-platform-test 2010.2.0.0 (base req: ==4.2.0.2) haskell-src-meta 0.4.0.1 (base req: >=4.1 && <4.4) haste 0.1.1 (base req: >=3 && <4) haxr-th 3000.5 (base req: <4) hdf 0.7 (base req: ==3.*) hfann 0.2 (base req: >=2 && <4 / -any) hfov 1.0.1 (base req: >=1.0 && <3) hlcm 0.2.2 (base req: -any / >=3 && <4) hommage-ds 0.0.5 (base req: >=2 && <=4) hoogle 4.2.5 (base req: >4 && <4.4) hricket 0.5 (base req: >=3 && <=4) hs-ffmpeg 0.3.4 (base req: <4) hs-gizapp 0.1.0.3 (base req: >=3 && <4.3) hscamwire 0.2.1 (base req: >=3 && <4) hsemail-ns 1.3.2 (base req: <=4) hsini 0.1 (base req: ==4.3.*) hstest 0.0.1 (base req: >=4.0.0 && <4.3) hunit-gui 0.1.4 (base req: ==3.*) hws 1.1.0.1 (base req: >=4.2 && <4.4) hxmppc 0.2 (base req: ==4.3.*) indents 0.3.1 (base req: <4.4) interpolatedstring-qq-mwotton 0.1.1 (base req: >=3 && <4) json-b 0.0.4 (base req: >=2 && <4 / -any) kibro 0.4.3 (base req: ==3.*) kinds 0.0.1.2 (base req: >=3.0 && <4.1) kqueue 0.1 (base req: >=4.0 && <4.4) language-go 0.8 (base req: >=3 && <4) language-sh 0.0.3.1 (base req: <4 && >=3) lat 0.6 (base req: ==4.3.*) lax 0.1.0.0 (base req: >=2.1.1 && <4.1) leksah 0.10.0.4 (base req: >=4.0.0.0 && <4.4) leksah-server 0.10.0.4 (base req: >=4.0.0.0 && <4.4) levmar 1.1 (base req: >=3 && <4.4) levmar-chart 0.2 (base req: >=3 && <4.2) libxslt 0.1 (base req: >=2 && <4) list-tries 0.4.1 (base req: >=3 && <4.4) lojban 0.3 (base req: ==3.*) lostcities 0.2 (base req: >=3 && <4) ls-usb 0.1.0.9 (base req: >=4.0 && <4.4) ltk 0.10.0.4 (base req: >=4.0.0.0 && <4.4) mathlink 2.0.1.1 (base req: >=4.0 && <4.3) matlab 0.1 (base req: <4) minesweeper 0.9.1 (base req: >=3 && <4.4) miniplex 0.3.4 (base req: <4) monad-control 0.2.0.1 (base req: >=3 && <4.4) monad-ran 0.1.0 (base req: >=4.0 && <4.2) mtp 0.1.1.1 (base req: ==4.2.*) murmur-hash 0.1.0.2 (base req: >=3.0 && <4.4) network-bytestring 0.1.3.4 (base req: <4.4) network-dbus 0.0 (base req: <4) network-websocket 0.3 (base req: >=2 && <4) nimber 0.1.1 (base req: >=2 && <4) nymphaea 0.3 (base req: <=4.1.0.0) omnicodec 0.5.0.2 (base req: ==4.3.*) orchid 0.0.8 (base req: ==3.0.*) orchid-demo 0.0.6 (base req: ==3.0.*) palindromes 0.2 (base req: >=3.0 && <4.0) pointfree 1.0.4.1 (base req: >=3 && <4.4) properties 0.0.2 (base req: >=3 && <4) pubsub 0.11 (base req: >=2 && <4) pure-priority-queue 0.14 (base req: >=3.0.3.1 && <4) pure-priority-queue-tests 0.12 (base req: >=3.0.3.1 && <4) randsolid 0.2 (base req: >=3 && <4) ranges 0.2.3 (base req: >=2 && <4.4) reactive-banana 0.4.1.1 (base req: >=4.2 && <4.4) reactive-banana-wx 0.4.1.1 (base req: >=4.2 && <4.4) reactor 0.1.3 (base req: >=4 && <4.4) records 0.1.1.3 (base req: >=3.0 && <4.1) redHandlers 0.1 (base req: <4) regex-applicative 0.1.3 (base req: ==4.3.*) regional-pointers 0.6 (base req: >=4 && <4.4) regions 0.9 (base req: >=4 && <4.4) repr 0.4.1 (base req: >=3 && <4.4) reversi 0.1.1 (base req: ==3.0.3.2) roman-numerals 0.5.0 (base req: >=3.0.3.1 && <4.4) safe-freeze 0.0 (base req: <4.2) safer-file-handles 0.10 (base req: >=4 && <4.4) safer-file-handles-bytestring 0.2 (base req: >=4 && <4.4) scons2dot 0.9 (base req: >=3 && <4) secrm 0.0 (base req: >=2.1.1 && <3) semiring 0.3 (base req: <=4.0 / >=3 && <4) serial 0.2.6 (base req: >=2 && <4) setops 0.1.1 (base req: >=3.0.3.1 && <4.4) sgf 0.1.1 (base req: >=3 && <4) shoap 0.2 (base req: >=2 && <4) showdown 0.5.3 (base req: >=2 && <=4) sifflet 1.2.4 (base req: >=4.0 && <4.4) sifflet-lib 1.2.4 (base req: >=4.0 && <4.4) simple-atom 0.2 (base req: >=3.0 && <4.4) sink 0.1.0.0 (base req: ==4.3.*) smallarray 0.2.2 (base req: <4.4) special-functors 1.0.0.1 (base req: <2) statestack 0.1 (base req: >=4.2 && <4.4) statethread 0.1 (base req: >=1.0 && <2) string-combinators 0.6 (base req: >=4 && <4.4) stylized 0.1.3 (base req: >=4.1 && <4.2) svg2q 0.3.2 (base req: >=4.0 && <=4.3) syntactic 0.6 (base req: >=4 && <4.4) tagsoup-ht 0.3 (base req: >=3 && <4) tconfig 0.5.1 (base req: >=2 && <=4) template 0.2.0.4 (base req: >=3.0 && <4.4) terrahs 0.8 (base req: >=2 && <4) threads 0.4 (base req: >=3 && <4.4) time-http 0.1.0.1 (base req: ==4.3.*) time-w3c 0.1.0.1 (base req: ==4.3.*) trimpolya 0 (base req: >=3 && <4) tupleinstances 0.0.1 (base req: >=3 && <4) twisty 0.1.0 (base req: ==4.2.*) type 0.2.0 (base req: >=4.2 && <4.3) type-equality-check 0.0.0.0 (base req: >=3.0 && <4.1) type-functions 0.2.0.0 (base req: >=3.0 && <4.1) typehash 1.4.0.2 (base req: >=4 && <4.4) uhexdump 0.2.3 (base req: <4.1) unbounded-delays 0.1.0.1 (base req: >=4 && <4.4) unicode-symbols 0.1.1.2 (base req: >=3.0.3.1 && <4.3) unix 2.4.2.0 (base req: >=4.2 && <4.4) usb 0.8 (base req: >=4 && <4.4) usb-enumerator 0.3 (base req: >=4 && <4.4) usb-id-database 0.4.0.5 (base req: >=3.0.3.1 && <4.4) usb-safe 0.12 (base req: >=4 && <4.4) vector-fftw 0.1 (base req: ==4.* && <4.4) visual-graphrewrite 0.4.0.1 (base req: <4.2 / >=4.1.0.0) whim 0.1.1 (base req: >3 && <4) windowslive 0.3 (base req: >=4.0 && <4.2) wp-archivebot 0.1 (base req: >=3 && <4) wyvern 0.1 (base req: >=3 && <4) xml2x 0.4.2 (base req: >3 && <4.2) xmlgen 0.4.0.2 (base req: >=4.2 && <4.4) xmonad-utils 0.1.2 (base req: <4) xsact 1.7.3 (base req: >3 && <4.2) yjftp 0.3.6.2 (base req: >=4 && <=4.1.0.0) zoneinfo 0.5 (base req: <=4.0)

Does it ever make sense to have a dependency base < 5? Strictly speaking never, because you can never know if a future 4.x change breaks your package, but maybe there are some rules of thumb when it is allowed? Sjoerd On Aug 7, 2011, at 2:19 PM, Herbert Valerio Riedel wrote:
Hello GHC Users,
Below is a list compiled from my current index-00.tar listing 292 packages whose version constraints on `base` seem (since I used a very simple Haskell script, I expect there to be some false positives) to exclude the `base` package version 4.4.0.0 bundled with GHC 7.2.1-rc1.
Other changes that need to be considered when trying to fix packages for compilation w/ GHC 7.2:
- integer-gmp has been updated to 0.3.0.0 - BangPatterns are not enabled by default anymore w/ GHC 7.2 - TypeSynonymInstances don't overlap w/ FlexibleInstances anymore - Data.Typeable API has changed (this breaks `uniplate` for instance)
Package name Package Vers. ===================================================================================== 4Blocks 0.2 (base req: >=2 && <=4) AERN-Basics 2011.1.0.1 (base req: >=4 && <4.3) AERN-Net 0.2.1.1 (base req: >=3 / <4) AERN-Real 2011.1.0.1 (base req: >=4 && <4.3) AERN-Real-Double 2011.1.0.2 (base req: >=4 && <4.3 / >=4 && <5) AERN-Real-Interval 2011.1.0.1 (base req: >=4 && <4.3) AERN-RnToRm 0.5.0.1 (base req: >=3 / <4) AERN-RnToRm-Plot 0.2.0.3 (base req: >=3 / <4) Advgame 0.1.2 (base req: >=3 && <=4.1) Annotations 0.1.3 (base req: >=4.1 && <4.4) Attrac 0.1.3 (base req: >=2 && <4) BirdPP 1.0 (base req: >=2 && <4) BlogLiterately 0.3 (base req: >=4.0 && <4.3) ChasingBottoms 1.3.0.1 (base req: >=4.0 && <4.4) Coadjute 0.1.1 (base req: >=4 && <4.4) ConfigFileTH 0.1 (base req: >=4.2 && <4.3) ContArrow 0.0.5 (base req: <=4) DBlimited 0.1.1 (base req: >=2 && <4) DP 0.1.1 (base req: <=4.0) Decimal 0.2.0 (base req: ==4) DocTest 0.2.0 (base req: >=4.0 && <4.4) DrIFT-cabalized 2.2.3.2 (base req: <4) Encode 1.3.4 (base req: <=4.2) GenI 0.20.2 (base req: >=3 && <4) GlomeTrace 0.1.2 (base req: >=3 && <4) GlomeVec 0.1.2 (base req: >=3 && <4) Grempa 0.1.3 (base req: ==4.2.* || ==4.3.*) HDRUtils 1.0.2 (base req: ==4.1.0.0) HLogger 0.0.1.0 (base req: >=2 && <4) HPath 0.0.2 (base req: >=2 && <=4) HPlot 0.3 (base req: >=4.0 && <4.2) HTTP 4000.1.1 (base req: >=2 && <4.4) HXMPP 0.0.1.0 (base req: >=2 && <4) HaRe 0.6.0.1 (base req: >=4 && <=4.2.0.2 / >4 && <=5) HarmTrace 0.4 (base req: >=4.2 && <4.4) Hashell 1.0 (base req: ==3.*) Hieroglyph 3.89 (base req: ==4.1.0.0) Hricket 0.1 (base req: >=3 && <=4) HsHyperEstraier 0.4 (base req: ==4.3.*) HsSVN 0.4.3.2 (base req: ==4.3.*) IDynamic 0.1 (base req: ==4.1.0.0) IOSpec 0.2.2 (base req: >=2 && <4.4) IcoGrid 0.1.2 (base req: >=3 && <4) JsonGrammar 0.2 (base req: >=3.0 && <4.4) KiCS 0.9.2 (base req: ==4.1.*) KiCS-debugger 0.1.1 (base req: ==4.1.*) KiCS-prophecy 0.1.1 (base req: ==4.1.*) L-seed 0.2 (base req: ==3.*) LibZip 0.2.0.1 (base req: >=4.0 && <4.4) LslPlus 0.4.3 (base req: >=4.0 && <4.2) Lucu 0.7.0.2 (base req: ==4.3.*) MaybeT-monads-tf 0.2.0.1 (base req: >=4 && <4.4) Mhailist 0.0 (base req: <4) NewBinary 0.2.1 (base req: <=4) Omega 0.2.2 (base req: >=3 && <4) OpenAFP-Utils 1.3 (base req: -any / >=3 && <4) OpenCLRaw 1.0.1001 (base req: <=4.1.0.0) Operads 1.0 (base req: <=4) Paraiso 0.0.0.0 (base req: >=4.3.1 && <4.4) PermuteEffects 0.2 (base req: >=4.0 && <4.4) RESTng 0.1 (base req: <4) RefSerialize 0.2.7 (base req: >=3 && <4) ReplicateEffects 0.2 (base req: >=4.0 && <4.4) SVG2Q 0.3 (base req: >=4.0 && <=4.3) Shu-thing 1.1.2 (base req: <4) SoccerFun 0.5.1 (base req: >=4 && <4.3) SoccerFunGL 0.5.1 (base req: >=4 && <4.3) Stream 0.4.2 (base req: <4.4) SybWidget 0.5.4 (base req: >=4.1.0 && <4.3.0) TreeStructures 0.0.2 (base req: >=2 && <4) WL500gPControl 0.3.4 (base req: <4) WL500gPLib 0.3.1 (base req: <4) Win32-junction-point 0.0.1 (base req: >=4.0 && <4.4) Wired 0.2.2 (base req: >=3 && <4) Workflow 0.5.6 (base req: >=3 && <4) WxGeneric 0.6.1 (base req: >=4.1.0 && <4.3.0) applicative-quoters 0.1.0.1 (base req: >=4 && <4.4) assembler 0.0.1 (base req: <=0) babylon 0.2 (base req: >=3 && <4) benchpress 0.2.2.4 (base req: >=2.0 && <4.4) bindings-apr 0.1 (base req: ==4.2.*) bindings-apr-util 0.1 (base req: ==4.2.*) bindings-levmar 1.0 (base req: >=3 && <4.4) bindings-librrd 0.2 (base req: ==4.2.*) bindings-libzip 0.1.0.2 (base req: >=4.0 && <4.4) bluetileutils 0.2 (base req: >=3 / <4) buster 2.51 (base req: <=4.1.0.0) cabal2doap 0.2 (base req: >=3 && <4) case-insensitive 0.3 (base req: >=3 && <4.4) cblrepo 0.2.2 (base req: ==4.3.*) collections 0.3.1.1 (base req: >=3 && <4) compose-trans 0.0 (base req: >=2 && <=4) concurrent-extra 0.7 (base req: >=3 && <4.4) constructive-algebra 0.3.0 (base req: >=3 && <=4.3.1.0) containers-unicode-symbols 0.3.0.2 (base req: >=3.0.3.1 && <4.4) curry-base 0.2.8 (base req: >=3 && <4) curry-frontend 0.2.11 (base req: >=3 && <4) data-accessor-monadLib 0.0.1 (base req: <4.1) data-cycle 0.1.1 (base req: ==4.3.*) data-memocombinators 0.4.1 (base req: >=3 && <4.4) data-pprint 0.2 (base req: >=4.0 && <4.4) data-reify-cse 0.0.1 (base req: ==3.*) dataenc 0.14 (base req: >=3.0.0 && <4.4) deunicode 0.1 (base req: ==4.2.*) dgs 0.2 (base req: >=3 && <4) dia-base 0.1.1 (base req: >=4.0 && <4.4) dia-functions 0.2.1.1 (base req: >=4.0 && <4.4) diagrams-cairo 0.3 (base req: >=4.2 && <4.4) diagrams-core 0.3 (base req: >=4.2 && <4.4) diagrams-lib 0.3 (base req: >=4.2 && <4.4) directory 1.1.0.0 (base req: >=4.2 && <4.4) doctest 0.4.0 (base req: >=4.0 && <4.4) dstring 0.4 (base req: >=4 && <4.4) email-validate 0.2.6 (base req: >=2 && <4.4) emgm 0.3.1 (base req: >=3.0 && <4.0) enummapset 0.0.1 (base req: <4.4) error-message 1.1 (base req: >=4.1 && <4.3) estimators 0.1.4 (base req: >=3 && <4) estreps 0.3.1 (base req: >3 && <4) explicit-iomodes 0.6.0.2 (base req: >=4 && <4.4) explicit-iomodes-bytestring 0.1.0.2 (base req: >=4 && <4.4) explicit-iomodes-text 0.1.0.5 (base req: >=4 && <4.4) feed-cli 2009.7.5 (base req: <4) feldspar-compiler 0.4.0.2 (base req: >=4 && <4.4) feldspar-language 0.4.0.2 (base req: >=4 && <4.4) ffmpeg-tutorials 0.3.3 (base req: <4) fingertree-psqueue 0.2 (base req: <=4) fixed-point 0.5.0.0 (base req: ==4.3.*) fixed-point-vector 0.5.0.0 (base req: ==4.3.*) fixed-point-vector-space 0.5.0.0 (base req: ==4.3.*) forkable-monad 0.1.1 (base req: >3.0 && <4.4) fraction 0.0.1.0 (base req: >=3.0 && <4.1) frame 0.1 (base req: >=2 && <4) frame-markdown 0.1 (base req: >=2 && <4) ftdi 0.2.0.1 (base req: >=3.0.3 && <4.3) ftshell 0.3.0.1 (base req: >=1.0 && <4) fullstop 0.1.2 (base req: >=3 && <4.3) funion 0.0.2 (base req: -any / >=3 && <=4) funpat 0.1 (base req: >=4.2.0.2 && <4.4) funsat 0.6.2 (base req: -any / <4) geniconvert 0.20 (base req: <4.1) ghci-diagrams 0.1.1 (base req: >=4.0 && <4.4) glome-hs 0.61 (base req: >=3 && <4) grapefruit-examples 0.0.0.0 (base req: >=3.0 && <4.1) grapefruit-frp 0.0.0.0 (base req: >=3.0 && <4.1) grapefruit-records 0.0.0.0 (base req: >=3.0 && <4.1) grapefruit-ui 0.0.0.0 (base req: >=3.0 && <4.1) grapefruit-ui-gtk 0.0.0.0 (base req: >=3.0 && <4.1) graph-rewriting 0.5.2 (base req: >=4 && <4.4) graph-rewriting-cl 0.2.2 (base req: >=4 && <4.4) graph-rewriting-gl 0.6.5 (base req: >=4 && <4.4) graph-rewriting-lambdascope 0.4.8 (base req: >=4 && <4.4) graph-rewriting-layout 0.4.4 (base req: >=4 && <4.4) graph-rewriting-ski 0.5.6 (base req: >=4 && <4.4) graph-rewriting-trs 0.1.2 (base req: >=4 && <4.4) hSimpleDB 0.3 (base req: >=3 && <=4) haddock 2.9.2 (base req: ==4.3.*) haddock-leksah 2.6.0 (base req: >=4.0.0.0 && <4.3.0.0) hake 1.3.4 (base req: <=4.1.0.0) hamusic 0.1.2.1 (base req: <4) haskell-platform-test 2010.2.0.0 (base req: ==4.2.0.2) haskell-src-meta 0.4.0.1 (base req: >=4.1 && <4.4) haste 0.1.1 (base req: >=3 && <4) haxr-th 3000.5 (base req: <4) hdf 0.7 (base req: ==3.*) hfann 0.2 (base req: >=2 && <4 / -any) hfov 1.0.1 (base req: >=1.0 && <3) hlcm 0.2.2 (base req: -any / >=3 && <4) hommage-ds 0.0.5 (base req: >=2 && <=4) hoogle 4.2.5 (base req: >4 && <4.4) hricket 0.5 (base req: >=3 && <=4) hs-ffmpeg 0.3.4 (base req: <4) hs-gizapp 0.1.0.3 (base req: >=3 && <4.3) hscamwire 0.2.1 (base req: >=3 && <4) hsemail-ns 1.3.2 (base req: <=4) hsini 0.1 (base req: ==4.3.*) hstest 0.0.1 (base req: >=4.0.0 && <4.3) hunit-gui 0.1.4 (base req: ==3.*) hws 1.1.0.1 (base req: >=4.2 && <4.4) hxmppc 0.2 (base req: ==4.3.*) indents 0.3.1 (base req: <4.4) interpolatedstring-qq-mwotton 0.1.1 (base req: >=3 && <4) json-b 0.0.4 (base req: >=2 && <4 / -any) kibro 0.4.3 (base req: ==3.*) kinds 0.0.1.2 (base req: >=3.0 && <4.1) kqueue 0.1 (base req: >=4.0 && <4.4) language-go 0.8 (base req: >=3 && <4) language-sh 0.0.3.1 (base req: <4 && >=3) lat 0.6 (base req: ==4.3.*) lax 0.1.0.0 (base req: >=2.1.1 && <4.1) leksah 0.10.0.4 (base req: >=4.0.0.0 && <4.4) leksah-server 0.10.0.4 (base req: >=4.0.0.0 && <4.4) levmar 1.1 (base req: >=3 && <4.4) levmar-chart 0.2 (base req: >=3 && <4.2) libxslt 0.1 (base req: >=2 && <4) list-tries 0.4.1 (base req: >=3 && <4.4) lojban 0.3 (base req: ==3.*) lostcities 0.2 (base req: >=3 && <4) ls-usb 0.1.0.9 (base req: >=4.0 && <4.4) ltk 0.10.0.4 (base req: >=4.0.0.0 && <4.4) mathlink 2.0.1.1 (base req: >=4.0 && <4.3) matlab 0.1 (base req: <4) minesweeper 0.9.1 (base req: >=3 && <4.4) miniplex 0.3.4 (base req: <4) monad-control 0.2.0.1 (base req: >=3 && <4.4) monad-ran 0.1.0 (base req: >=4.0 && <4.2) mtp 0.1.1.1 (base req: ==4.2.*) murmur-hash 0.1.0.2 (base req: >=3.0 && <4.4) network-bytestring 0.1.3.4 (base req: <4.4) network-dbus 0.0 (base req: <4) network-websocket 0.3 (base req: >=2 && <4) nimber 0.1.1 (base req: >=2 && <4) nymphaea 0.3 (base req: <=4.1.0.0) omnicodec 0.5.0.2 (base req: ==4.3.*) orchid 0.0.8 (base req: ==3.0.*) orchid-demo 0.0.6 (base req: ==3.0.*) palindromes 0.2 (base req: >=3.0 && <4.0) pointfree 1.0.4.1 (base req: >=3 && <4.4) properties 0.0.2 (base req: >=3 && <4) pubsub 0.11 (base req: >=2 && <4) pure-priority-queue 0.14 (base req: >=3.0.3.1 && <4) pure-priority-queue-tests 0.12 (base req: >=3.0.3.1 && <4) randsolid 0.2 (base req: >=3 && <4) ranges 0.2.3 (base req: >=2 && <4.4) reactive-banana 0.4.1.1 (base req: >=4.2 && <4.4) reactive-banana-wx 0.4.1.1 (base req: >=4.2 && <4.4) reactor 0.1.3 (base req: >=4 && <4.4) records 0.1.1.3 (base req: >=3.0 && <4.1) redHandlers 0.1 (base req: <4) regex-applicative 0.1.3 (base req: ==4.3.*) regional-pointers 0.6 (base req: >=4 && <4.4) regions 0.9 (base req: >=4 && <4.4) repr 0.4.1 (base req: >=3 && <4.4) reversi 0.1.1 (base req: ==3.0.3.2) roman-numerals 0.5.0 (base req: >=3.0.3.1 && <4.4) safe-freeze 0.0 (base req: <4.2) safer-file-handles 0.10 (base req: >=4 && <4.4) safer-file-handles-bytestring 0.2 (base req: >=4 && <4.4) scons2dot 0.9 (base req: >=3 && <4) secrm 0.0 (base req: >=2.1.1 && <3) semiring 0.3 (base req: <=4.0 / >=3 && <4) serial 0.2.6 (base req: >=2 && <4) setops 0.1.1 (base req: >=3.0.3.1 && <4.4) sgf 0.1.1 (base req: >=3 && <4) shoap 0.2 (base req: >=2 && <4) showdown 0.5.3 (base req: >=2 && <=4) sifflet 1.2.4 (base req: >=4.0 && <4.4) sifflet-lib 1.2.4 (base req: >=4.0 && <4.4) simple-atom 0.2 (base req: >=3.0 && <4.4) sink 0.1.0.0 (base req: ==4.3.*) smallarray 0.2.2 (base req: <4.4) special-functors 1.0.0.1 (base req: <2) statestack 0.1 (base req: >=4.2 && <4.4) statethread 0.1 (base req: >=1.0 && <2) string-combinators 0.6 (base req: >=4 && <4.4) stylized 0.1.3 (base req: >=4.1 && <4.2) svg2q 0.3.2 (base req: >=4.0 && <=4.3) syntactic 0.6 (base req: >=4 && <4.4) tagsoup-ht 0.3 (base req: >=3 && <4) tconfig 0.5.1 (base req: >=2 && <=4) template 0.2.0.4 (base req: >=3.0 && <4.4) terrahs 0.8 (base req: >=2 && <4) threads 0.4 (base req: >=3 && <4.4) time-http 0.1.0.1 (base req: ==4.3.*) time-w3c 0.1.0.1 (base req: ==4.3.*) trimpolya 0 (base req: >=3 && <4) tupleinstances 0.0.1 (base req: >=3 && <4) twisty 0.1.0 (base req: ==4.2.*) type 0.2.0 (base req: >=4.2 && <4.3) type-equality-check 0.0.0.0 (base req: >=3.0 && <4.1) type-functions 0.2.0.0 (base req: >=3.0 && <4.1) typehash 1.4.0.2 (base req: >=4 && <4.4) uhexdump 0.2.3 (base req: <4.1) unbounded-delays 0.1.0.1 (base req: >=4 && <4.4) unicode-symbols 0.1.1.2 (base req: >=3.0.3.1 && <4.3) unix 2.4.2.0 (base req: >=4.2 && <4.4) usb 0.8 (base req: >=4 && <4.4) usb-enumerator 0.3 (base req: >=4 && <4.4) usb-id-database 0.4.0.5 (base req: >=3.0.3.1 && <4.4) usb-safe 0.12 (base req: >=4 && <4.4) vector-fftw 0.1 (base req: ==4.* && <4.4) visual-graphrewrite 0.4.0.1 (base req: <4.2 / >=4.1.0.0) whim 0.1.1 (base req: >3 && <4) windowslive 0.3 (base req: >=4.0 && <4.2) wp-archivebot 0.1 (base req: >=3 && <4) wyvern 0.1 (base req: >=3 && <4) xml2x 0.4.2 (base req: >3 && <4.2) xmlgen 0.4.0.2 (base req: >=4.2 && <4.4) xmonad-utils 0.1.2 (base req: <4) xsact 1.7.3 (base req: >3 && <4.2) yjftp 0.3.6.2 (base req: >=4 && <=4.1.0.0) zoneinfo 0.5 (base req: <=4.0)
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries
-- Sjoerd Visscher http://w3future.com

On Sun, 7 Aug 2011, Sjoerd Visscher wrote:
Does it ever make sense to have a dependency base < 5?
If 'base' follows the package version policy, then it does not make sense. Does 'base' follow this policy?
Strictly speaking never, because you can never know if a future 4.x change breaks your package, but maybe there are some rules of thumb when it is allowed?
I admit I also used 'base < 5' a lot, since in my experience, there was no breakage of my packages within 'base == 4.*'. If module XYZ in base changes, then according to the PVP, the major version of 'base' must be increased. If I do not use XYZ this does not matter for me. The problem for me is, that 'base' is still large and thus there are many modules of it, that I do not use.

On 07/08/2011 15:07, Henning Thielemann wrote:
On Sun, 7 Aug 2011, Sjoerd Visscher wrote:
Does it ever make sense to have a dependency base < 5?
If 'base' follows the package version policy, then it does not make sense. Does 'base' follow this policy?
Yes it does. Simon

On Sunday 07 August 2011, 16:07:58, Henning Thielemann wrote:
On Sun, 7 Aug 2011, Sjoerd Visscher wrote:
Does it ever make sense to have a dependency base < 5?
If 'base' follows the package version policy, then it does not make sense.
It kind of makes sense if you're using only things whose behaviour cannot reasonably change. It is reasonable to expect that if Data.List, say, were removed from base, that would be accompanied by a change of the first component of the version number. There's no guarantee, since PVP only demands the major version (the first two components) to be changed, but common sense says revolutionary changes should show up in the first component.

ps: Here's an approximate break-down of the most popular version constraints (normalized via Distribution.Version.simplifyVersionRange) found in the current versions the registered hackage packages (currently 3269 packages): 1004 ==4.* 475 >=3 && <5 439 -any 319 no base dependancy 233 <5 57 >=4 46 >=4.0 && <5 45 >=2 && <5 41 >=3 41 ==3.* 39 >=4.2 && <5 29 >=4 && <4.4 28 >3 && <5 26 >=4.0 && <5.0 26 >3 21 >4 && <5 21 <4 21 >=3 && <=5 19 >=4 && <6 18 >=4 && <=5 17 ==4.3.* 17 >=3.0 17 >=2 && <4 16 >=4.0 && <4.4 14 >=4.3 && <5 13 >=3.0 && <5 12 >=4.2 && <4.4 11 >=3 && <4.4 11 >=2.0 10 >=4.1 && <5 10 >=3.0 && <4.1 9 >=3 && <6 [...tail...]
participants (5)
-
Daniel Fischer
-
Henning Thielemann
-
Herbert Valerio Riedel
-
Simon Marlow
-
Sjoerd Visscher