[Haskell] Re: Trying to install binary-0.4

Isaac Dupree isaacdupree at charter.net
Tue Oct 16 16:06:27 EDT 2007


Neil Mitchell wrote:
> Hi
> 
>> I agree. >= 1.0 isn't viable in the long term. Rather, a specific list,
>> or bounded range of tested versions seems likely to be more robust.
> 
> In general, if it compiles and type checks, it will work. It is rare
> that an interface stays sufficiently similar that the thing compiles,
> but then crashes at runtime.

True..

GoboLinux's package system records the exact set of versions something 
compiles with (just for reference), and uses min version bounds (and max 
bounds where needed) for dependencies.

It's always possible for Haskell library implementation-bug-fixes to 
change relied-on behavior, as discussed in the original ECT description. 
  I agree that compiling and type-checking is a pretty good sign of 
working.  Passing tests (e.g. QuickCheck) could be tested too, where 
available.

If optimizations and unsafePerformIO interact differently, different 
compiler versions could also affect whether something works correctly, 
but still compiles... But, the issue here is much more limited:

we assume that there were some set of versions of these libraries that 
DID work, and,
that every version of each library, on its own (or with only the 
libraries it depends on), works.

So it might be valuable to record subjectively-working exact version 
sets, somewhere.

Isaac



More information about the cabal-devel mailing list