title: Portable load/include of define-syntax in R5RS Scheme?
body: <p>I'm trying to write something that works in both DrRacket/plt-r5rs and Gambit/gsi.</p>
  
  <p>The problem I'm having is that <code>(load "foo.scm")</code> in Gambit does not load <code>define-syntax</code>-blocks. Using <code>(include "foo.scm")</code> in Gambit works, but of course results in a syntax error in DrRacket.</p>
  
  <p>Is there any way to solve this so that I can write portable R5RS code?</p>
  
  <p>Things I've tried:</p>
  
  <ul>
  <li>Redefining <code>(include "foo.scm")</code> to <code>(load "foo.scm")</code> and vice versa. Problem: Illegal to redefine macros in Gambit.</li>
  <li>Wrapping said redefinitions in an <code>(if gambit ...)</code>. Problem: Illegal to put define inside if(unless inside another define).</li>
  <li>Passing string with filename to an include in the library file instead. Problem: Includes in Gambit seem to happen before interpretation starts.</li>
  </ul>