<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I suggest <a href="https://github.com/haskell/lsp" class="">https://github.com/haskell/lsp</a> should be considered the "most idiomatic" way to bridge Haskell domain code with external programs. It speaks JSON-RPC based LSP (<a href="https://microsoft.github.io/language-server-protocol" class="">https://microsoft.github.io/language-server-protocol</a>) with VSCode and other IDEs.<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 2021-05-29, at 22:59, Mario Lang <<a href="mailto:mlang@blind.guru" class="">mlang@blind.guru</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hi.<br class=""><br class="">For my chessIO package, I wrote a module to communicate with<br class="">UCI (Universal Chess Interface) speaking chess engines.<br class=""><br class="">This sort of thing is pretty new to me.<br class="">I settled to use attoparsec for parsing and<br class="">TChan to feed incoming data to the library users.<br class="">This is the first thing that I found which looked like it could work...<br class=""><br class="">I would be thrilled if someone with more experience in this area would<br class="">give my approach a review.  Let me know if something is glaringly<br class="">unidiomatic, I am sure you will find things.<br class=""><br class=""><a href="https://github.com/mlang/chessIO/blob/master/src/Game/Chess/UCI.hs" class="">https://github.com/mlang/chessIO/blob/master/src/Game/Chess/UCI.hs</a><br class=""><br class="">This is for me to learn, and to avoid putting weird stuff on hackage...<br class="">I actually prefer private mail, but a GitHub issue or even a PR are also<br class="">highly welcome.<br class=""><br class="">Thanks.<br class=""><br class="">-- <br class="">CYa,<br class="">  ⡍⠁⠗⠊⠕<br class="">_______________________________________________<br class="">Haskell-Cafe mailing list<br class="">To (un)subscribe, modify options or view archives go to:<br class="">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe<br class="">Only members subscribed via the mailman list are allowed to post.</div></div></blockquote></div><br class=""></body></html>