title: Embeddable Scheme interpreter
body: <p>I know Lua is best-in-class for embedding, but I want to use Scheme or some LISP dialect as scripting language for my C app. What are good interpreters to embed? My criteria are:</p>
  
  <ul>
  <li>Open source (preferably in C - I think most of them are).</li>
  <li>R5RS very encouraged, SRFIs are plus.</li>
  <li>Easy FFI with C (in both directions) - very important.</li>
  <li>Should be maintained, up-to-date, not dead projects.</li>
  <li>Performance comparable to Lua.</li>
  <li>Portable (at least GNU/Linux - MacOS - Windows (MinGW/Cygwin acceptable)).</li>
  </ul>
  
  <p>I don't care about:</p>
  
  <ul>
  <li>Large library (with simple FFI, I'm able to add missing), but it's a plus.</li>
  <li>Size. I plan to run it on desktop machine, not Android/iOS.</li>
  <li>Rich documentation. Some samples with FFI might be enough.</li>
  </ul>
  
  <p>For now, I consider the following:</p>
  
  <ul>
  <li>GNU Guile. Seems like it fits, but I don't know about performance (is it VM or interpreted?).</li>
  <li>newLISP. Brand new, documented, but not sure about performance and embedding too.</li>
  <li>TinyScheme/Chibi. Very small, R5RS, intended for embedding. Not sure about performance.</li>
  </ul>