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

Oleg Grenrus oleg.grenrus at iki.fi
Sat May 29 15:21:29 UTC 2021


I wrote
https://github.com/phadej/cabal-extras/blob/master/cabal-docspec/src/System/Process/Interactive.hs
learning from what doctest, hlint and few other tools do.
They all (and you) seem to combine the process handling with the
specific process, coupling things which don't need to be.

That repository is under GPL, but if you find that module useful I can
relicense it.

- Oleg

On 29.5.2021 17.59, Mario Lang 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.
>


More information about the Haskell-Cafe mailing list