<!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>