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
____________________
Racket Users list:
http://lists.racket-lang.org/users