[Haskell-cafe] dynamic code compilation and loading

Dennis Raddle dennis.raddle at gmail.com
Tue Jan 17 10:16:50 UTC 2017

Thanks, I will refer to your email as I try to develop my working method.

On Tue, Jan 17, 2017 at 3:33 AM, Evan Laforge <qdunkan at gmail.com> wrote:

> On Mon, Jan 16, 2017 at 11:16 PM, Dennis Raddle <dennis.raddle at gmail.com>
> wrote:
> > About what I've learned about expression score realization, I could
> perhaps
> > share some things at some point. Unfortunately I have bad work habits...
> I
> > often don't take care to finish projects in a way that is presentable,
> so I
> > have many years of half-finished compositions that can't even be played
> back
> > with the current version of my program. I'm 48 years old and finally
> > realizing just how important it is to organize and finish things. And to
> > collaborate. I found another musician to collaborate with -- I will make
> > computer "interpretations" of his compositions.
> I keep each score saved with a "known good" version of the MIDI
> output, along with a commit ID for the time it was generated.  So it
> not only archives a known good realization, it also acts as a
> regression test against code changes (checking all saved scores is
> part of the commit validation, in addition to the more usual unit
> tests), and if all else fails, I can get back to the original
> performance by rewinding the repo.  mp3 is good for archiving of
> course, but you'll never be able to change it again.

Ah, yes, those are good ideas. But to get things to sound right, I have to
configure my software synthesizers (such as samplers, modeled pianos, and
analog synth emulators). I can set up all the synthesizers as VST plugins
in Reaper, but versions change and there may be configuration elements not
captured in the Reaper file, so I really need to archive a mp3 as a record
of what I did. I can and should take greater care in managing the versions
of the Haskell source, but it's harder to manage the configuration of the
software synths and I would rather not invest the effort to reach a point
of high confidence... when it's easy to archive an mp3.

If I really want to revisit something I did a while back, it might take
some work to get it going again with the current version of my Haskell
source, but that's not such a bad thing... often I can learn things
serendipitously from unintended software behavior.

But the other approach, the one Knuth took with TeX, which is to make it
100% backward compatible for its entire life, is fascinating. I'm just one
guy messing around as a hobby so it's obviously much more important for a
widely used community resource like TeX.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20170117/8f835058/attachment-0001.html>

More information about the Haskell-Cafe mailing list