[Haskell-cafe] Wrapping external process communication in a nice API?

YueCompl compl.yue at icloud.com
Mon May 31 08:55:18 UTC 2021


Ah yes, their roles are flipped.

> On 2021-05-31, at 16:40, Oleg Grenrus <oleg.grenrus at iki.fi> wrote:
> 
> LSP is not applicable. Please read about UCI, https://en.wikipedia.org/wiki/Universal_Chess_Interface <https://en.wikipedia.org/wiki/Universal_Chess_Interface>. I.e. change of protocol is not possible.
> 
> If you want to draw an analogy, then Mario's chessIO package is the editor here, and various chess engines are "plugins",
> therefore I don't think that lsp package is much help as it implements different role.
> 
> - Oleg
> 
> On 31.5.2021 11.22, YueCompl via Haskell-Cafe wrote:
>> I suggest https://github.com/haskell/lsp <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 <https://microsoft.github.io/language-server-protocol>) with VSCode and other IDEs.
>> 
>>> On 2021-05-29, at 22:59, Mario Lang <mlang at blind.guru <mailto:mlang at 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 <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 <http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe>
>>> Only members subscribed via the mailman list are allowed to post.
>> 
>> 
>> 
>> _______________________________________________
>> Haskell-Cafe mailing list
>> To (un)subscribe, modify options or view archives go to:
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe <http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe>
>> Only members subscribed via the mailman list are allowed to post.
> _______________________________________________
> 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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20210531/e71d60cd/attachment.html>


More information about the Haskell-Cafe mailing list