[plt-scheme] Portable development

From: Neil W. Van Dyke (neil at neilvandyke.org)
Date: Wed Oct 13 20:44:07 EDT 2004

Sounds good to me, assuming you want portability.

I often write R5RS + SRFI code for the reasons:

  1. Have option of using different implementations now.  (Say, develop
     with one but deploy with another.  Or occasionally use a very nice
     development tool available in an implementation that you wouldn't
     otherwise use.)

  2. Have option of switching primary Scheme implementation, for future
     reasons technical, ideological, or happenstance.  (This is
     especially useful for reusable libraries, which can be longer-lived
     than apps.  It's also a great way to mitigate the risk to an
     application of a Scheme implementor -- heaven forbid -- getting hit
     by a bus.)

  3. Altruistically promote many Scheme implementations, and make your
     reusable libraries usable to the most people.

  4. Dislike the nesting level introduced by PLT "module" syntax.

  5. Aesthetics, or possible latent masochism.

The main drawback I see with writing portable Scheme code is that the
extensions and libraries in particular Scheme implementations are often
big wins, or absolutely necessary.  My Scheme coding project at the
moment is very PLT-specific for this reason.

Posted on the users mailing list.