title: Writing portable scheme code. Is anything "standard" beyond R5RS itself?
body: <p>I'm learning scheme and until now have been using guile. I'm really just learning as a way to teach myself a functional programming language, but I'd like to publish an open source project of some sort to reenforce the study— not sure what yet... I'm a web developer, so probably something webby.</p>
  
  <p>It's becoming apparent that publishing scheme code isn't very easy to do, with all these different implementations and no real standards beyond the core of the language itself (R5RS). For example, I'm almost certainly going to need to do basic IO on disk and over a TCP socket, along with string manipulation, such as scanning/regex, which seems not to be covered by R5RS, unless I'm not seeing it in the document. It seems like Scheme is more of a "concept" than a practical language... is this a fair assessment?  Perhaps I should look to something like Haskell if I want to learn a functional programming language that lends itself more to use in open source projects?</p>
  
  <p>In reality, how much pain do the differing scheme implementations pose when you want to publish an open source project? I don't really fancy having to maintain 5 different functions for basic things like string manipulation under various mainstream implementations (Chicken, guile, MIT, DrRacket). How many people actually write scheme for cross-implementation compatibility, as opposed to being tightly coupled with the library functions that only exist in their own scheme?</p>
  
  <p>I have read <a href="http://www.ccs.neu.edu/home/dorai/scmxlate/scheme-boston/talk.html">http://www.ccs.neu.edu/home/dorai/scmxlate/scheme-boston/talk.html</a>, which doesn't fill me with confidence ;)</p>
  
  <p>EDIT | Let's re-define "standard" as "common".</p>