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

Reply via email to