Specify -fobject-code when launching intero
See original GitHub issueHi @rikvdkleij
One optimisation that Intero for Emacs uses is to set -fobject-code
when launching intero so that only those modules that have changed are recompiled; this scales well for large projects. With the default -fbyte-code
all modules are reloaded every time with :load
.
(:reload
will load just the recent module, but switching modules causes a big reload of everything. So that’s a trade-off)
Setting -fdefer-type-errors
helps get more type info be available, at the cost of slightly slower compile due to GHC.
Just wanted to add that in case it wasn’t known.
Issue Analytics
- State:
- Created 5 years ago
- Reactions:1
- Comments:6 (4 by maintainers)
Top Results From Across the Web
Intero Real Estate Services
We Help You Buy, Sell and Invest In Real Estate · Title & Escrow Services · Get Preapproved For A Loan · Get...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Done in beta45, https://github.com/rikvdkleij/intellij-haskell/releases/tag/v1.0.0-beta45. Also uploaded to the JB plugin repo but can take some days before they have approved.
Created alternative solution for
:browse! *moduleName
by using the parser and type info.REPL switches to byte-code when info is requested.
It’s possible to temporarily
:set -fbyte-code
and:reload
to get information for the current module then:set -fobject-code
back afterward. Intero does that if it uses:info
and doesn’t get anything back. It’s definitely a matter of figuring out what works for you at this point.