[racket] ONC RPC package for Racket?
I took a quick look (just killing time while Racket 5.92 compiles) at
what I believe are the sources for the Guile-RPC you're talking about.
Findings:
* The code looks pretty clean, and much better than you might expect (if
you know Sun/ONC RPC).
* So far, I didn't see much Guile-isms, nor FFI, and Racket port looks
likely doable with less effort than I would've first guessed.
* There was a Lex ".l" file, so you'd have to do a build for Guile and
steal the generated Guile code (which might be harder to port), *or*
just redo the lexer using Racket "parser-tools" or by hand.
* Looks like they implement their own portmapper, which (because it sits
on fixed ports) I suspect would conflict with the default portmapper on
the machine. If the machine needs to run the OS's default portmapper
(for NFS, NIS, or other RPC programs), but you also need to run this
other portmapper code (which is unclear at the moment) on the same
ports, then you might have to get fancy with virtual network interfaces
or similar. I have not looked into this.
* I have not tried to compile or run Guile-RPC, and I have little
information otherwise as to how well Guile-RPC works.
Side comment: I would only get into ONC RPC if I had a legacy
interoperation reason to. If I wanted to spec an
interprocess-communication mechanism for new development, first picks
would use something simple layered atop HTTP (avoiding the bloated
Microsoft-style XML-based RPC ones if possible). Or, for unusual
situations, maybe Google protobuf or something custom.
This email list can help with questions as you port this. Or, if you
have an immediate commercial need, and want to outsource, there are at
least a couple Racket consultants with network protocol background.
Neil V.
Steve Byan wrote at 01/27/2014 12:59 PM:
> Quite surprisingly, I find myself in need of a ONC RPC package for Racket. I didn't see anything on Planet, and pkgs.racket-lang.org seems to be either down or not working for me.
>
> I'm a novice Racket programmer; would porting the Guile ONC RPC framework be a reasonable way to get a Racket ONC RPC package? What problems would I be likely to encounter in such a port?
>
> Best regards,
> -Steve
>
>