Using a development snapshot of happy

John Cotton Ericson John.Ericson at Obsidian.Systems
Sun Aug 2 14:52:49 UTC 2020


Big +1 on this. There area few experiments I'd like try with Happy that 
I think this will help with, too.

On 8/2/20 4:18 AM, Moritz Angermann wrote:
> This dependency on alex and happy to boot ghc has been annoying, but
> wasn't  that terrible until a while ago when some
> ghc versions needed happy <= 1.19.11 and others happy >= 1.19.12. If
> happy was part of ghc, this would not have been an issue.
> As such I'd be on board with adding happy *and* alex as submodules
> into the `utils` folder. And thereby reducing the external
> boot dependencies of ghc!
>
> I believe
> - `compiler/ghc.cabal.in` would need to get a `build-tool-depends:`
> stanza for happy and alex,
> - `utils/genprimopcode/genprimopcode.cabal` same
> - `utils/hpc/hpc-bin.cabal` same for happy only.
> For `hadrian`, you'd need to make it aware of happy and alex packages
> in `hadrian/src/Packages.hs`.
> (Just follow other "util"s in there, e.g. unlit or touchy).
>
> In general hadrian should follow cabal dependencies properly.
>
> cheers,
>   Moritz
>
> On Sun, Aug 2, 2020 at 3:43 PM Vladislav Zavialov <vladislav at serokell.io> wrote:
>> Hi ghc-devs,
>>
>> I’m working on the unification of parsers for terms and types, and one of the things I’d really like to make use of is a feature I implemented in ‘happy’ in October 2019 (9 months ago):
>>
>>    https://github.com/simonmar/happy/pull/153
>>
>> It’s been merged upstream, but there has been no release of ‘happy’, despite repeated requests:
>>
>>    1. I asked for a release in December: https://github.com/simonmar/happy/issues/164
>>    2. Ben asked for a release a month ago: https://github.com/simonmar/happy/issues/168
>>
>> I see two solutions here:
>>
>>    a) Find a co-maintainer for ‘happy’ who could make releases more frequently (I understand the current maintainers probably don’t have the time to do it).
>>    b) Use a development snapshot of ‘happy’ in GHC
>>
>> Maybe we need to do both, but one reason I’d like to see (b) in particular happen is that I can imagine introducing more features to ‘happy’ for use in GHC, and it’d be nice not to wait for a release every time. For instance, there are some changes I’d like to make to happy/alex in order to implement #17750
>>
>> So here are two questions I have:
>>
>>    1. Are there any objections to this idea?
>>    2. If not, could someone more familiar with the build process guide me as to how this should be implemented? Do I add ‘happy’ as a submodule and change something in the ./configure script, or is there more to it? Do I need to modify make/hadrian, and if so, then how?
>>
>> Thanks,
>> - Vlad
>> _______________________________________________
>> ghc-devs mailing list
>> ghc-devs at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


More information about the ghc-devs mailing list