<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin-top:6.0pt;
        margin-right:0cm;
        margin-bottom:6.0pt;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        mso-fareast-language:EN-US;}
p.Code, li.Code, div.Code
        {mso-style-name:Code;
        mso-style-link:"Code Char";
        margin-top:6.0pt;
        margin-right:0cm;
        margin-bottom:6.0pt;
        margin-left:36.0pt;
        font-size:12.0pt;
        font-family:"Courier New";
        mso-fareast-language:EN-US;}
span.CodeChar
        {mso-style-name:"Code Char";
        mso-style-link:Code;
        font-family:"Courier New";}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Courier New";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
.MsoPapDefault
        {mso-style-type:export-only;
        margin-top:6.0pt;
        margin-right:0cm;
        margin-bottom:6.0pt;
        margin-left:0cm;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 86.95pt 72.0pt 86.95pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoPlainText"><span style="font-size:12.0pt;font-family:"Calibri",sans-serif">Friends<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-size:12.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span style="font-size:12.0pt;font-family:"Calibri",sans-serif">We started this thread (below) a month ago, but it has once more run out of steam.  The last contribution was from Vishal Agrawal<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-size:12.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoPlainText" style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Calibri",sans-serif">I am already planning to do a GSoC project based on it with a slightly larger aim. You can find my work in progress proposal at https://gist.github.com/fugyk/37510958b52589737274.
 Also I have written a patch to make cabal non-destructive at https://github.com/fugyk/cabal/commit/45ec5edbaada1fd063c67d6109e69efa0e732e6a. Can you review the proposal and give me suggestions.<o:p></o:p></span></p>
<p class="MsoPlainText" style="margin-left:36.0pt"><span style="font-size:12.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span style="font-size:12.0pt;font-family:"Calibri",sans-serif">I don’t feel qualified to drive this process, but I do think it’s important to complete it.  (I might be wrong about this too… please say so if so.) Nor do I understand
 why it’s difficult to tie up the bow; the underlying infrastructure work is done.
<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-size:12.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span style="font-size:12.0pt;font-family:"Calibri",sans-serif">Duncan especially: how can we make progress?  Do you think it’s important to make progress, or are other things in cabal-land more important?  My reason for thinking that
 it’s important is that it appears to be the root cause of many people’s difficulties with Haskell and Cabal.  It might not be a panacea for all ills; but it might be a cheap remedy for a significant proportion of ills.  And that would be a Good Thing.<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-size:12.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span style="font-size:12.0pt;font-family:"Calibri",sans-serif">Thanks<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-size:12.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span style="font-size:12.0pt;font-family:"Calibri",sans-serif">Simon<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<p class="MsoPlainText">|  <span lang="EN-US" style="mso-fareast-language:EN-GB">
-----Original Message-----</span></p>
<p class="MsoPlainText">|  <span lang="EN-US" style="mso-fareast-language:EN-GB">
From: ghc-devs [mailto:ghc-devs-bounces@haskell.org] On Behalf Of Simon</span></p>
<p class="MsoPlainText">|  <span lang="EN-US" style="mso-fareast-language:EN-GB">
Peyton Jones</span></p>
<p class="MsoPlainText">|  <span lang="EN-US" style="mso-fareast-language:EN-GB">
Sent: 23 March 2015 08:46</span></p>
<p class="MsoPlainText">|  <span lang="EN-US" style="mso-fareast-language:EN-GB">
To: cabal-devel@haskell.org</span></p>
<p class="MsoPlainText">|  <span lang="EN-US" style="mso-fareast-language:EN-GB">
Cc: haskell-platform@projects.haskell.org; haskell-</span></p>
<p class="MsoPlainText">|  <span lang="EN-US" style="mso-fareast-language:EN-GB">
infrastructure@community.galois.com; Haskell Libraries; ghc-</span></p>
<p class="MsoPlainText">|  <span lang="EN-US" style="mso-fareast-language:EN-GB">
devs@haskell.org</span></p>
<p class="MsoPlainText">|  <span lang="EN-US" style="mso-fareast-language:EN-GB">
Subject: Cabal and simultaneous installations of the same package</span></p>
<p class="MsoPlainText">|  </p>
<p class="MsoPlainText">|  Dear Cabal developers</p>
<p class="MsoPlainText">|  </p>
<p class="MsoPlainText">|  You'll probably have seen the thread about the Haskell Platform.</p>
<p class="MsoPlainText">|  </p>
<p class="MsoPlainText">|  Among other things, this point arose:</p>
<p class="MsoPlainText">|  </p>
<p class="MsoPlainText">|  |  Another thing we should fix is the (now false) impression that HP</p>
<p class="MsoPlainText">|  | gets in  the way of installing other packages and versions due to</p>
<p class="MsoPlainText">|  cabal hell.</p>
<p class="MsoPlainText">|  </p>
<p class="MsoPlainText">|  People mean different things by "cabal hell", but the inability to</p>
<p class="MsoPlainText">|     simultaneously install multiple versions of the same package,</p>
<p class="MsoPlainText">|     compiled against different dependencies is certainly one of them,</p>
<p class="MsoPlainText">|  and I think it is the one that Yitzchak is referring to here.</p>
<p class="MsoPlainText">|  </p>
<p class="MsoPlainText">|  But some time now GHC has allowed multiple versions of the same package</p>
<p class="MsoPlainText">|  (compiled against different dependencies) to be installed</p>
<p class="MsoPlainText">|  simultaneously.  So all we need to do is to fix Cabal to allow it too,</p>
<p class="MsoPlainText">|  and thereby kill of a huge class of cabal-hell problems at one blow.</p>
<p class="MsoPlainText">|  </p>
<p class="MsoPlainText">|  But time has passed and it hasn't happened. Is this because I'm</p>
<p class="MsoPlainText">|  misunderstanding?  Or because it is harder than I think?  Or because</p>
<p class="MsoPlainText">|  there are much bigger problems?  Or because there is insufficient</p>
<p class="MsoPlainText">|  effort available?  Or what?</p>
<p class="MsoPlainText">|  </p>
<p class="MsoPlainText">|  Unless I'm way off beam, this "multiple installations of the same</p>
<p class="MsoPlainText">|  package" thing has been a huge pain forever, and the solution is within</p>
<p class="MsoPlainText">|  our grasp.  What's stopping us grasping it?</p>
<p class="MsoPlainText">|  </p>
<p class="MsoPlainText">|  Simon</p>
<p class="MsoPlainText">|  </p>
<p class="MsoPlainText">|  _______________________________________________</p>
<p class="MsoPlainText">|  ghc-devs mailing list</p>
<p class="MsoPlainText">|  <a href="mailto:ghc-devs@haskell.org"><span style="color:windowtext;text-decoration:none">ghc-devs@haskell.org</span></a></p>
<p class="MsoPlainText">|  <a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs">
<span style="color:windowtext;text-decoration:none">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</span></a></p>
</div>
</body>
</html>