I suggest https://github.com/haskell/lsp should be considered the "most idiomatic" way to bridge Haskell domain code with external programs. It speaks JSON-RPC based LSP (https://microsoft.github.io/language-server-protocol) with VSCode and other IDEs.

On 2021-05-29, at 22:59, Mario Lang <mlang@blind.guru> wrote:

Hi.

For my chessIO package, I wrote a module to communicate with
UCI (Universal Chess Interface) speaking chess engines.

This sort of thing is pretty new to me.
I settled to use attoparsec for parsing and
TChan to feed incoming data to the library users.
This is the first thing that I found which looked like it could work...

I would be thrilled if someone with more experience in this area would
give my approach a review.  Let me know if something is glaringly
unidiomatic, I am sure you will find things.

https://github.com/mlang/chessIO/blob/master/src/Game/Chess/UCI.hs

This is for me to learn, and to avoid putting weird stuff on hackage...
I actually prefer private mail, but a GitHub issue or even a PR are also
highly welcome.

Thanks.

--
CYa,
 ⡍⠁⠗⠊⠕
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.