qualified imports, PVP and so on (Was: add new Data.Bits.Bits(bitZero) method)

MightyByte mightybyte at gmail.com
Tue Feb 25 21:34:04 UTC 2014


On Tue, Feb 25, 2014 at 4:16 PM, Vincent Hanquez <tab at snarc.org> wrote:
> If you're going to dig an old ghc version, what's stopping you from
> downloading old packages manually from hackage ? I'm sure it can even be
> automated (more or less).

It's much more difficult because the scale is much greater.  Also, if
people aren't putting in version bounds, then you have no clue what
versions to try.  Leaving out version bounds is throwing away
information.

> However, I don't think we should optimise for this use case; I'ld rather use
> maintained packages that are regularly updated.

When I write code and get it working, I want it to work for all time.
There's absolutely no reason we shouldn't be able to make that happen.
 If we ignore this case, then Haskell will never be suitable for use
in serious production situations.  Large organizations want to know
that if they start using something it will continue to work.  (And
don't respond to this with the "avoid success at all costs" line.
Haskell is now mature enough that I and a growing number of other
people use Haskell on a daily basis for mission-critical
applications.)

> And even if I wanted to use an old package, provided it's not tied to something fairly internals like
> GHC's api or such, in a language like haskell, porting to recent version of
> libraries should be easier than in most other language.

It might be easier, but it can still require a LOT of effort...much
more than is justified in some situations.  And that doesn't mean that
in those situations getting old code working doesn't have significant
value.

> Furthermore, some old libraries should not be used anymore. Consider old
> libraries that have security issues for example. Whilst it's not the intent,
> It's probably a good thing that those old libraries don't build anymore, and
> people are forced to move to the latest maintained version.

This argument does not hold water when getting a legacy piece of code
working has significant intrinsic value.  There are plenty of
situations where code can have great value to a person/organization
even if it doesn't touch the wild internet.


More information about the Libraries mailing list