Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
haskell-language-server
Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.
-
haskell-language-server
Integration point for ghcide and haskell-ide-engine. One IDE to rule them all. (by isovector)
in one of my project, I need to do some manipulation and transformation of Haskell source code files and AFAIK ghc-exactprint is the right tool for that. Unfortunately I have zero experience with this one, there seems not to be any more detailed documentation/tutorial examples. What is the best way how to learn this library? Can you recommend any sources?
In HLS, these days we've got a reasonably good interface around exacptrint. The idea is that you can construct a Graft which corresponds to the transformations you'd like to make, and that these form a monoid. From there you can just use graft to replace a SrcSpan with the node you've synthesized, and it should (mostly) take care of the annotations.
If you're in an environment where you've initialized GHC (places like GHCI, or inside of a project that works with hie-bios), you can use this module to easily inspect GHC types. I like to define orphan Show instances where show = unsafeRender, which gives me some semblance of a reasonable workflow.
Related posts
- Static-ls - a low memory Haskell language server based on hiedb and hiefiles
- Transform your old and tired Haskell source files in shining Notebooks
- Easy way to locally navigate into source code of packages from Hackage?
- I was finally able to set up Neovim lspconfig with Haskell Language Server on MacOS!
- create a manage hook on only one workspace