Fragmentos: la magia de Scheme

lun 13 noviembre 2017 Actualizado el lun 13 noviembre 2017

En la lista lilypond-es me he topado con este código y no he podido reprimir las ganas de compartir mi asombro:

{
  $@(map
  (lambda (p)
    #{ \transpose c' #p { \key c \major c'4 e' g' c' \bar "|." } #})
  (music-pitches #{ c' d' e' f' g' a' b' des' es' fis' as' bes' #}))
}

El fragmento proviene de una respuesta de David Kastrup, nuestro principal desarrollador, a una pregunta en la lista lilypond-user. La cuestión era si se podía hacer una iteración automática o "bucle" con código de LilyPond. La respuesta es esta maravillosa e intrincada combinación de Scheme y música de LilyPond, que me parece muy prometedora.

la magia de Scheme