[racket] ONC RPC package for Racket?

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Mon Jan 27 13:38:11 EST 2014

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
>
>    

Posted on the users mailing list.