[racket] Coding in a Scheme subset?

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Tue Jul 8 22:17:14 EDT 2014

I think how you do it depends on your exact needs, but I generally 
recommend not doing this unless and until you need to.

I maintained most of my code in portable R4RS/R5RS plus minimal SRFIs 
for years, before deciding that Racket did almost everything I needed, 
and that keeping the portability was an encumbrance that I didn't 
actually use.

So I switched to a strategy of working in Racket while knowing that, if 
ever had to use a Scheme implementation (probably Gambit, Kawa, or 
Chicken, I thought), I would know how to port the code, and could decide 
then whether/how to manage ongoing portability.

I switched to Racket-only many years ago, and still haven't needed to 
use any RnRS Scheme implementations -- just Racket.

If you decide that you *need* to *maintain* portability for some code, I 
suspect that your best bet is to do that code in whatever your 
non-Racket target requires (probably R5RS or R6RS), and to use the 
corresponding "#lang" with the Racket tools.

Neil V.

Brian Adkins wrote at 07/08/2014 09:48 PM:
> When I recently decided to learn a lisp, I spent many hours researching various Common Lisps, Schemes, Clojure, etc. and determined that Racket was the best fit for me; however, I may want to make use of other lisps for particular situations (e.g. embedding in another application, etc.).
>
> For those of you who are much more experienced with Racket than I am, how feasible is it to partition your code into one set that is fairly portable scheme and another set that makes full use of Racket specific features? I don't anticipate wanting to port an entire app, but I can imagine wanting to make use of a large library of utility code.
>
> Thanks,
> Brian
>



Posted on the users mailing list.