I’ve been working on a haskell-language-server plugin.
It’s is conceptually very similar to (and cribs heavily from) hls-eval-plugin.
However, unlike hls-eval-plugin, it’s not triggered by doctest comments, instead it takes a “configuration” file, containing a number of Haskell functions, and for each combination of “value in the current module” and “function in the config”, if the result of applying the function to the value is IO () it generates a code lens which runs that result.
It’s still at the Proof of Concept stage, but I think it’s demoable.