<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>This is a very interesting thread that I always wondered about. </p>
    <p>
      <blockquote type="cite">The Common Lisp Music system which grew
        out of Mus10
        <br>
        at SAIL, had become unmanageable because (despite the insistent
        hype) the only
        <br>
        way to get any performance was to write the generators in C and
        tie them into
        <br>
        Lisp via the clumsy FFI's of the day.  Even that was too slow,
        so CLM ended
        <br>
        up writing C code on-the-fly for entire instruments (or rather
        the "run loop" portion),
        <br>
        compiling that and loading it into CL, sort of like Chicken
        Scheme.
        <br>
        This was a nightmare to debug, and it was obvious to me that my
        sanity depended
        <br>
        on finding a simpler way (while staying in the lisp family of
        course -- Cmix and
        <br>
        CSound had the C-side covered).  Guile filled the bill for
        awhile, so both
        <br>
        Snd and CLM used it.
      </blockquote>
      Do you think something like <a
        href="https://incudine.sourceforge.net/">incudine</a> and/or <a
        href="https://github.com/ormf/cm-incudine">cm-incudine</a> would
      have fixed the problem of relying on C, even though it is too late
      at this point?</p>
    <p>Brandon Hale<br>
    </p>
    <div class="moz-cite-prefix">On 11/9/23 8:33 AM,
      <a class="moz-txt-link-abbreviated" href="mailto:bil@ccrma.Stanford.EDU">bil@ccrma.Stanford.EDU</a> wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:63615289540e3a9e2e32a65e92f1235f@ccrma.stanford.edu">I
      can speak to the CLM/Snd side of this which was closely associated
      with Common Music.
      <br>
      I followed Rick's lead, but I was already searching for an
      alternative to
      <br>
      Common Lisp.  The sound editor, Snd, was a C version of an earlier
      editor named
      <br>
      Dpysnd, written in SAIL at SAIL in the 70's and 80's.  I wanted to
      add an
      <br>
      extension language, but at the time (say mid-to-late 90's), this
      was all but
      <br>
      impossible in Common Lisp (like later Schemes, CL wanted to be the
      "main program").
      <br>
      I looked at elisp (emacs), then someone mentioned Guile, so I
      started using it.
      <br>
      <br>
      The Common Lisp Music system which grew out of Mus10
      <br>
      at SAIL, had become unmanageable because (despite the insistent
      hype) the only
      <br>
      way to get any performance was to write the generators in C and
      tie them into
      <br>
      Lisp via the clumsy FFI's of the day.  Even that was too slow, so
      CLM ended
      <br>
      up writing C code on-the-fly for entire instruments (or rather the
      "run loop" portion),
      <br>
      compiling that and loading it into CL, sort of like Chicken
      Scheme.
      <br>
      This was a nightmare to debug, and it was obvious to me that my
      sanity depended
      <br>
      on finding a simpler way (while staying in the lisp family of
      course -- Cmix and
      <br>
      CSound had the C-side covered).  Guile filled the bill for awhile,
      so both
      <br>
      Snd and CLM used it.
      <br>
      <br>
      Guile became comatose in the 2000's, then came back to life as a
      compiler.
      <br>
      The new Guile was not compatible with my code, so I wrote s7,
      starting with
      <br>
      TinyScheme.  At this point I am very happy with s7+C in both
      programs.
      <br>
      If I need something from s7, I can just implement it.  If I were
      using
      <br>
      CL, nothing would happen because that community is
      hyper-conservative,
      <br>
      and if using any other Scheme than my own, nothing would happen
      because
      <br>
      Schemers love to bicker until everyone is exhausted.  With s7 I
      can just
      <br>
      sit and type and hum a happy tune.
      <br>
      <br>
      _______________________________________________
      <br>
      Cmdist mailing list
      <br>
      <a class="moz-txt-link-abbreviated" href="mailto:Cmdist@ccrma.stanford.edu">Cmdist@ccrma.stanford.edu</a>
      <br>
      <a class="moz-txt-link-freetext" href="https://cm-mail.stanford.edu/mailman/listinfo/cmdist">https://cm-mail.stanford.edu/mailman/listinfo/cmdist</a>
      <br>
    </blockquote>
  </body>
</html>