I don't know about Microsoft UWP specifically, but, FWIW, there is a
long tradition, in various platforms, of partitioning into two or more
host OS processes, and doing some kind of interprocess communication
(IPC) between them. The IPC can be over domain sockets, shared memory,
stdio/TTY, TCP, etc., with protocol layer over that. Among other
reasons, this process separation avoids C-like memory problems in other
code creating nigh-impossible-to-debug failures in your modern language
runtime.
For Racket process separation in general (I don't know about whatever MS
is trying this time), if there were no pre-existing good channel,
usually I would start with a simple s-expressions or JSON message
protocol, over TCP. That's pretty easy to implement rapidly on both
ends, relatively easy to test&debug, can be solid, can usually give good
performance, and leaves you the option of partitioning across hosts.
(HTTP as IPC is sometimes another viable option, but less-desirable in
many regards.) Then you have to coordinate process lifetimes. Then you
can look at any performance bottlenecks, and, if the IPC happens to be a
problem, you can probably evolve the code pretty easily. (I don't mean
to overstate the possibility of a performance issue. If you implement a
clean sexp/JSON-over-TCP protocol, I suspect you'd likely be more
efficient, from the start, than how a conventional Web programmer would
think to do it.)
--
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
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.