On Wednesday, January 31, 2018 at 4:17:09 PM UTC+1, Greg Hendershott wrote:
> Another way is for two (OS) processes to "pipe" I/O to each other.
This is a great idea since it would allow to integrate any language with
the .NET application. It is how Neovim does it: the main application is
Neovim, which is written in C, and it acts as a server for a client
application written in whatever other language. The protocol used is
It is built on top of the MessagePack serialisation format. In a nutshell,
MessagePack is like JSON, but binary. This makes it smaller to transport
and faster to pack and unpack, but it loses the nice human-readability of
JSON. I think that's a good tradeoff for data that is not meant to be
stored and manipulated by a person, but instead passed around between
I have already written a general-purpose MessagePack library for Racket, as
well as a language client for Neovim:
The MessagePack library is safe to use. The Neovim client is my first time
doing something with RPC, so I'm not yet ready to call it stable. The part
of the codebase which implements MessagePack RPC is not entangled with the
Neovim-specific parts, so once the language client matures it will be easy
to take it out and make it into a general-purpose MessagePack RPC library.
You received this message because you are subscribed to the Google Groups
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
For more options, visit https://groups.google.com/d/optout.