Learning materials for ghc-exactprint?

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/haskell

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
  • ghc-exactprint

    GHC version of haskell-src-exts exactPrint

    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?

  • ghc-lib

    The GHC API, decoupled from GHC versions

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • haskell-language-server

    Official haskell ide support via language server (LSP). Successor of ghcide & haskell-ide-engine.

    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.

  • haskell-language-server

    Integration point for ghcide and haskell-ide-engine. One IDE to rule them all. (by isovector)

    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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts