
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
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@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs