-
Notifications
You must be signed in to change notification settings - Fork 84
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
Split off happy-grammar and happy-tabular #200
Conversation
Why move |
True, |
12b41ed
to
61626b0
Compare
@int-index |
59131f1
to
bf85aca
Compare
That’s looking better, thanks! I noticed that you also had to do some changes. For example, I see that Are these the only changes you had to do or is there something I missed? It would be easier for me to tell if the diff looked like this: error_handler :: Maybe String,
error_sig :: ErrorHandlerType,
+ hd :: Maybe String,
+ tl :: Maybe String
} But instead I see the For this reason I would like to see the PRs to come in one of two flavors:
Apologies about adding more busywork to this already huge undertaking, but it’s truly not easy to review otherwise. |
Okay, so I'll try splitting this and the following MRs into two MR's each: one where code is moved, but not changed, and one where code is changed, but not moved. I think it should be possible to do so, but I can't guarantee a 100% success. Of course, moving code around will impact |
Done. Now the MR only contains pure code movements, namely the following:
Also, the following wrapper functions around otherwise purely moved code have been created:
|
16b23f4
to
5f89753
Compare
then hPutStrLn stderr ("reduce/reduce conflicts: " ++ show rr) | ||
else return () | ||
|
||
die' :: String -> IO a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this named die'
with a prime? Is this somehow different from die
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, die
is exported by System.Exit
, but only starting from base-4.8.0.0. For calling it die
we'd need an #if MIN_VERSION_base
, which will come in the following MR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, what about using an explicit import?
import System.Exit (exitWith, ExitCode(..))
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True, this would work. The next MR will remove die'
anyhow and replace it with a local function named die
, so it doesn‘t really make any difference.
Is there more feedback or are you happy with the MR? @int-index @Ericson2314 |
It’s in my queue. I tried to run Didn’t want to bother you with more nitpicking and decided to rearrange a few things myself (preserving attribution in parts that you’ve done, of course), but have been busy with other things. I’ll try to get this over with by the end of the week. |
@int-index ping, what do you want to do? |
Oops! I’ll do it today. |
Thanks! |
OK, here’s my take on this: #203 The key difference from this patch is that my In the |
f429e56
to
c081a7c
Compare
OK I rebased this, and ended keeping "both" tabulars -- temporarily. I didn't realize it at first, but we got back to the issue of @knothed wanting the "main fragments" vs not putting such things in the libraries. It's tough because I see the real use in happy-rads on one hand, but on the other hanging random clumps of IO in libraries violates many fundamental and important rules about how libraries ought to distribute labor. I get really nervous violating those rules. If we are to do the more tortoise-like "little steps, good review" method, vs more hare-like "big PR clean up after", then I think it is best to not do the main fragments, and keep the IO and CLI parsing in Main. I do want to do something for happy-rads, but it just is premature to try to plan that at this stage of the "little steps, good review" process. So my rebase keeping the main fragment is just temporary so that we can get it on some other branch and not loose the work. I had pinged @int-index thinking we are close, but now I am afraid it doesn't feel as close. I am pushing what I got because I am at the limit I have time to can spend rebasing this stuff for the next week or so, but hopefully between the 3 of us we can keep this moving. |
OK added the checklist. |
I've just opened #205. I don't know if that's what you had in mind @Ericson2314, but I think pulling out the grammar is a step in the right direction. |
Okay, the next step would be to put tabular-stuff in the happy-tabular package in a new MR, right? |
c081a7c
to
574bbd6
Compare
574bbd6
to
f96a87e
Compare
f96a87e
to
5d65f1c
Compare
OK if there is anything we want to "mine" from here, it should be easy enough to do so. |
I’m fine with Before moving the GLR backend though, I think it would be better to make it a pure function (like the normal backend). |
Yeah this can sit on the back burner. On on hand we could do the module splits but it doesn't really matter. On the other hand we probably don't want the main thing any time soon but having this here just in the PR might help @knothed keep happy-rad building in the short-term. |
5d65f1c
to
4aa441a
Compare
#191
Create
happy-grammar
andhappy-tabular
.TODO:
happy-grammar
Happy.Tablular
in a different branch for now, and callHappy.Tablular.Tablular
Happy.Tablular
instead --- we'll get back to such "main fragments" later.Lr1State
a better name (note where I moved it, unfortunately breaking the symmetry withLr0State
).