title: Common lisp: portability
body: <p><strong>question</strong></p>
  
  <p>If I make a 2d game in common lisp (uses: lispbuilder-sdl, quicklisp, cffi) using clozure cl on windows, will I be able to <em>easily</em> port it to other platforms (linux/iPhone(maybe)/android) later? Is lisp "suitable" for installable programs?</p>
  
  <p><strong>information</strong></p>
  
  <ol>
  <li>The game will use OpenGL for graphics. Most likely it'll use sdl for input/opengl initialization, and either sdl or openal for audio. Might end up using my own library instead of sdl later.</li>
  <li>Writing few C++ libraries for cffi (to wrap functionality in "portable" way) is not a problem.</li>
  </ol>
  
  <p><strong>reasoning</strong></p>
  
  <p>I'm really, really tired of C++. Want to try something (that is not python) with simpler syntax + more power. Have a game project in mind, want to know whether choosing lisp for a game means serious trouble if I suddenly decide to distribute/port the game later.</p>
  
  <p>--edit--</p>
  
  <p><strong>additional info</strong></p>
  
  <blockquote>
    <p>What do you mean by "suitable" and "installable programs"? </p>
  </blockquote>
  
  <p>I'm not sure how well CFFI/quicklisp will play if I try to turn finished program that can run onto my machine into installable package (windows installer on Windows, for example). quicklisp, for example, sets up paths/repositories within user's home dir (which might not be acceptable behavior) and tries to download packages automatically from external sources, which is not a good thing when you try to distribute program and make sure it works as intended. CFFI at some points "binds" foreign libraries to lisp functions, and it is unclear for me how well it will work, say, if I dump program image, embed it into exe and run said exe on another machine. According to common sense, that should work just fine as it is, but in the worst-case scenario it could result in me having to write complicate installer specific to lisp distribution.</p>