> I could not find a way of representing this construction in Haskore.
> Has anyone devised such a way?

First you have to define what you mean by the "last note" of a Music
value.  Is it the last note that starts, or the last note that ends?  In
your example it's just the last note of a single-line melody.  If that's
all you need, then just write a function lastNote (say) that computes
the start time (relative to the whole phrase) of that note.  Then just
do:

  let t = lastNote crescendoPhrase
  in crescendoPhrase :=: (Rest t :+: slurPhrase)

Note that in Haskore, the literal interpretation of the following two
phrases is the same:

  m1 :+: m2   
  m1 :=: (Rest (dur m1) :+: m2)

-Paul


Reply via email to