[haskell-llvm] pushing llvm-base with patched setup.hs to hackage

Carter Schonwald carter.schonwald at gmail.com
Sat May 18 02:22:21 BST 2013


the weird minor version hack doesn't sound acceptable to me.


1)  is there anyone actually going to use HUGs and LLVM 3.2 together?
Really? Who are they? Is it more than 1 person?

2) if thats the case, can we always assume that HUGS user will have a Cabal
library version < 1.16?

heres the solutions

if its 1: yes 2 : yes, then we can just use a cpp macro as follows


#if defined(__GLASGOW_HASKELL__)
TEMPLATE HASKELL STUFF HERE for NEW AND OLD CABAL
#elseif defined(__HUGS__)
old cabal version code
#endif

if
1: no , then its not worth supporting HUGS at the cost of increased
complexity everywhere else

if 1: yes : 2 no, then no matter what some hugs users will be broken, the
same solution as in the 1: yes 2: yes case.  (and having the template
haskell quasi quotation example in the comments as documentation will mean
such a hugs user can easily fix it by hand ).


I do not think any solution that results in the same code not building on
multiple haskell platforms is acceptable, at all.





On Fri, May 17, 2013 at 6:03 PM, Henning Thielemann <
lemming at henning-thielemann.de> wrote:

>
> On Fri, 17 May 2013, Carter Schonwald wrote:
>
>  if we hit a TH breakage, thats easy to work around, GHC always provides
>> the GHC_VERSION style #if CPP macros, so that would be easy to resolve if
>> that happens
>>
>
> I have not tried it with current Cabal, but in the past, Cabal and thus
> Setup.hs could even run on Hugs. This would not be possible with TH.
>
> Is it possible to write the Setup program without the Cabal functionality
> that has changed?
>
> If not, how about uploading two versions of the package that only differ
> in the Setup.hs script and the Cabal-Version field in llvm-base.cabal?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://projects.haskell.org/pipermail/haskell-llvm/attachments/20130517/9fdb0f1d/attachment-0001.htm>


More information about the Haskell-llvm mailing list