Skip to content

No bootstrapping #170

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed

Conversation

int-index
Copy link
Collaborator

Before this patch, building happy required a pre-built binary of happy. This was elegant in the same way a self-hosting compiler is elegant. But it also made building purely from source more complicated than needed.

This patch introduces a small, bespoke parsing library, and applies it for parsing .y and .ly files.

Now happy doesn't depend on itself, and can be built using just GHC.

Closes #169

@int-index int-index mentioned this pull request Aug 15, 2020
Before this patch, building 'happy' required a pre-built binary of
'happy'. This was elegant in the same way a self-hosting compiler is
elegant. But it also made building purely from source more complicated
than needed.

This patch introduces a small, bespoke parsing library, and applies it
for parsing .y and .ly files.

Now 'happy' doesn't depend on itself, and can be built using just GHC.
@int-index
Copy link
Collaborator Author

We discussed this with @simonmar elsewhere and concluded that a better solution (for now) would be to check in Happy-generated files.

@int-index int-index closed this Aug 25, 2020
@int-index int-index mentioned this pull request Aug 25, 2020
wincent added a commit to wincent/docvim that referenced this pull request Sep 1, 2020
Seeing as I finally got local bin/golden and bin/accept working, as
described here:

https://twitter.com/wincent/status/1300865628534910976
haskell/happy#170

    git clone https://github.com/simonmar/happy.git
    cd happy
    git hub get 170 # custom command, pulls down that PR
    make sdist && cabal install

    cd ..
    bin/golden
    bin/accept
@Ericson2314
Copy link
Collaborator

Could we do it both ways, using compiler flags or something to switch between the too? Beyond bootstrapping, I think this is useful to test happy.

@Ericson2314
Copy link
Collaborator

@simonmar Maybe see:

  1. @bgamari worrying about making happy a submodule in GHC: https://mail.haskell.org/pipermail/ghc-devs/2020-August/019111.html
  2. Me responding suggesting something along these lines https://mail.haskell.org/pipermail/ghc-devs/2020-December/019397.html

It is nice to have the submodule so we can have GHC branches using alex/happy branches, whether to demonstrate new features, or as in the recent case, that a branch changing the primops works at all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

No bootstrapping
2 participants