Skip to content
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

Feature Request: Optionally use a separate JVM for linting. #41

Open
EricGebhart opened this issue Jun 23, 2016 · 8 comments
Open

Feature Request: Optionally use a separate JVM for linting. #41

EricGebhart opened this issue Jun 23, 2016 · 8 comments

Comments

@EricGebhart
Copy link

I was thinking that my problem #40 could possibly not be as much of a problem if flycheck clojure used a second jvm just for it's purposes. Things seem to work reasonably well in #40 if it weren't for the fact that eastwood corrupts my JVM. And it makes no promises that it won't. So who knows what else could happen that might not result in such an obvious failure. As obvious as it is now, it took me a few days to understand that it wasn't my code or something else.

Cider has had nice connection management working for a while. So I'm wondering how hard would it be to create a second JVM and use that for all of the code checking. It should probably be optional since some people might not want to be running two JVMs.

Obviously the load would have to happen twice. But otherwise, using cider's connections should be fairly straight forward. It seems like this could be an easy win given eastwood's experimental status for repl calls and it would also be faster since the working jvm wouldn't be waiting on the code checks.

If I can help in any way, I'm willing. I might be able to make a pull request, but I can't promise that. I've got other things breathing down my neck.

@pnf
Copy link
Contributor

pnf commented Jun 23, 2016

That's definitely something I've thought about. Of course this won't stop corruption within the linting VM, as you're still using Eastwood in this nonstandard persistent fashion, and it might actually be harder to debug, so you'll be tempted to add restart logic, the ultimate manifestation of which would be to run a new VM for every lint cycle. At some point, it will seem easiest just to repeatedly invoke the lein command, thereby achieving maximum isolation, using Eastwood in the way that's actually supported, and reducing the flycheck plugin to the standard variety that just knows how to parse stdout.

On Jun 23, 2016, at 12:57 AM, Eric Gebhart notifications@github.com wrote:

I was thinking that my problem #40 could possibly not be as much of a problem if flycheck clojure used a second jvm just for it's purposes. Things seem to work reasonably well in #40 if it weren't for the fact that eastwood corrupts my JVM. And it makes no promises that it won't. So who knows what else could happen that might not result in such an obvious failure. As obvious as it is now, it took me a few days to understand that it wasn't my code or something else.

Cider has had nice connection management working for a while. So I'm wondering how hard would it be to create a second JVM and use that for all of the code checking. It should probably be optional since some people might not want to be running two JVMs.

Obviously the load would have to happen twice. But otherwise, using cider's connections should be fairly straight forward. It seems like this could be an easy win given eastwood's experimental status for repl calls and it would also be faster since the working jvm wouldn't be waiting on the code checks.

If I can help in any way, I'm willing. I might be able to make a pull request, but I can't promise that. I've got other things breathing down my neck.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@EricGebhart
Copy link
Author

It's true that could be the path, but it could possibly work reasonably well, and even if the linter jvm becomes corrupt it probably doesn't matter since it reloads every time anyway.

You've thought it about a lot more than I have. I just thought of it last night. If it's easy enough to add a dedicated JVM as an option, then it could be an easy experiment.

@MalloZup
Copy link

MalloZup commented Aug 5, 2019

autogenerated with https://github.com/MalloZup/doghub: issue inactive since 450 days. Please update the issue or close it

@EricGebhart
Copy link
Author

Any chance this might happen?

@pnf
Copy link
Contributor

pnf commented Aug 14, 2019

I could ask you the same thing... To use your phrase, I've also got other things breathing down my neck, and my day job doesn't involve clojure, so there's a bit of overhead for me in getting back into the fray. I'd love to work on this, but to be completely honest I can't imagine spending much time on it in the next few months.

@EricGebhart
Copy link
Author

EricGebhart commented Aug 14, 2019 via email

@pnf
Copy link
Contributor

pnf commented Aug 14, 2019

No, it is upsetting! I really wish I could find time to work on this, because it would be fun, and because it's really great for my ego that there are people actually using this little bit of code I wrote back when I had spare time. Full-time employment is a total drag sometimes.

@EricGebhart
Copy link
Author

EricGebhart commented Aug 14, 2019 via email

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

No branches or pull requests

3 participants