bjpop / language-python

A parser for Python 2.x and 3.x written in Haskell
157 stars 45 forks source link

Fix unused import warnings and simultaneously fix ghc 8.2.1 build #36

Closed sergv closed 6 years ago

sergv commented 7 years ago

Fix for #35.

bjpop commented 6 years ago

Thanks @sergv. I'm finally getting around to testing this. However, I updated my version of Happy, and now I get a build failure.

Can you please tell me which version of Happy you are using? I'm using 1.19.7.

sergv commented 6 years ago

@bjpop Hi, thanks for looking at it. I just managed to build language-python with stack's lts-9.0 snapshot which uses happy 1.19.5. I'm not sure about other versions, but I have also encountered type errors in big grammars translated with happy 1.19.7, so it's probably an issue with the happy tool.

sid-kap commented 6 years ago

@sergv I tried building your branch using stack lts-9.0 (so it should be happy 1.19.5), but I'm still getting this happy error:

http://termbin.com/36qw

sergv commented 6 years ago

@sid-kap I just built from scratch an d didn't get this error. My branch didn't touch the .y grammar files, so it should build just the same as master. Can you build the master branch? Can you also check that you're actually using happy 1.19.5? E.g. that stack exec -- happy --version shows 1.19.5 and which happy shows either nothing or 1.19.5 (so that there's no happy in your PATH)?

It seems that stackage has builds for both happy 1.19.5 https://www.stackage.org/lts-9.0/package/language-python-0.5.4 and 1.19.7 https://www.stackage.org/lts-9.7/package/language-python-0.5.4, so either version should work.

sid-kap commented 6 years ago

Yeah, I checked and I am using happy 1.19.5. Master branch didn't work for me on ghc8—that's why I wanted to try your branch, since it supposedly fixes the build for ghc8.

I was getting the exact same error using the master branch.

sergv commented 6 years ago

My branch fixes the build with ghc 8.2.1, just like the PR subject adventises. It does not tackle any possible happy issues.

I'm still suspicious about your environment though because stackage seems to build the master with either happy 1.19.5/1.19.7 successfully.

On 11 Oct 2017 15:29, "Sid Kapur" notifications@github.com wrote:

Yeah, I checked and I am using happy 1.19.5. Master branch didn't work for me on ghc8—that's why I wanted to try your branch, since it supposedly fixes the build for ghc8.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/bjpop/language-python/pull/36#issuecomment-335829768, or mute the thread https://github.com/notifications/unsubscribe-auth/ABGJqwdSxSSZBUzrMGnAQkEDDlzQpqnWks5srNDggaJpZM4OpW_I .

sid-kap commented 6 years ago

@sergv I got it to work somehow. I think deleting my .stack-work directory and rebuilding did the trick.

sboosali commented 6 years ago

any update?

bjpop commented 6 years ago

Sorry this has taken me so long to resolve. I am working on it.

bjpop commented 6 years ago

Okay, I've finally managed to get this built on my machine.

Now I'm trying to build the test suite https://github.com/bjpop/language-python-test

However, no matter how I try, I cannot get it to build with the latest stack using extra-deps. Has anyone figured out how to do this?

sergv commented 6 years ago

@bjpop Can you please describe the nature of the problem you're experiencing? I just built this PR with ghc 8.2.2 on x64 Debian machine and have built the latest commit from language-python-test repository you're linked againsts the same snapshot and this PR as well. but that's a known issue. I have used the following stack.yaml file to build language-python-test, hope it helps you in any way:

resolver: lts-10.3

packages:
  - "."
  - "/home/sergey/projects/haskell/projects/thirdparty/language-python/"

extra-deps:
  - happy-1.19.5

The only issue I foresee is insanely long compile times with happy-1.19.8, That's why I was using happy-1.19.5 from previous release. The generate almost the same code (and have almost the same features), so whatever worked with 1.1915 should work with 1.19.8, modulo several orders of magnitude increase in compilation time, but that's likely a GHC bug.