I gave a talk at Async recently on functional programming with Doodle and Compose. You can find the abstract, a link to the slides, and more, after the break.
![Michael Angel Batio at DayJams 2007](http://farm2.staticflickr.com/1242/1037271029_d31cc1bb1f_z_d.jpg?zz=1)
Here’s the abstract:
In this talk, Dave will discuss the design and implementation of two declarative libraries for drawing and composing music on the web. The talk will focus on the high-level design patterns, which are drawn from classical functional programming and help keep user code simple, clean, maintainable, and portable.
He will touch on how the design of these libraries relates to modern visualisation libraries such as D3.js, SVG.js, and Pablo.js, and discuss how the design patterns used can be applied to a variety of problems beyond the creative arts, including data validation, error handling, and the coordination of asynchronous processes.
He will also draw some seriously pretty pictures… and may even rock out live on stage (multiple guitar necks not guaranteed).
Because this talk was primarily aimed at front-end developers, I reimplemented Doodle and Compose in Javascript. You can find DoodleJS and ComposeJS on my Github, together with the slides.