At present, there are a large number of commercial and free programs dealing with music notation. Two of the most notable free software projects are LilyPond (Nienhuys and Nieuwenhuizen 2003) and Guido (Hoos et al. 1998; Renz 2002). Both of these programs are LaTeX-like languages that are used to describe the contents of a musical score in a textual form and not through a point-and-click user interface. Furthermore, a Web site dedicated to music notation software, ace.acadiau.ca/score/others.htm, lists a large number of other commercial and free music notation programs including simple notation editors (e.g., abc) for typesetting relatively simple notation; special-purpose editors like Gr6goire for typesetting Gregorian chant, Django for typesetting tabulature, and GOODFEEL for Braille notation; and full-featured programs like Berlioz, Igor (programmed in Lisp), Nightingale, and SCORE. Finally, the two de facto commercial notation programs are Finale and Sibelius. Recently, Web-viewable applications have also started to emerge. There are a few commercial approaches such as Scorch by Sibelius Software. ScoreSVG (Bays 2005), in turn, is a-free alternative based on the Scalable Vector Graphics, a language for describing two-dimensional vector graphics in XML. A handful of Lisp-based applications also exist that are aimed at representing musical data, such as Common Music Notation (CMN; Schottstaedt 1997), the Rhythm-Editor of PatchWork (RTM; Laurson 1996), and the musical editors in OpenMusic (Assayag et al. 1999). One of the earliest experiments, MUZACS (Kornfeld 1980), was even written for a Lisp machine. Of these editors, RTM is primarily intended to represent musical raw material, and thus the editing capabilities are limited. This is also the case with Open Music's notation editors. CMN is powerful typesetting package but lacks a graphical user interface (GUI). Expressive Notation Package (ENP; Kuuskankare and Laurson 2002) is a music notation program that has been developed to meet the requirements of computer-aided composition, music analysis, and synthesis control. ENP is programmed with LispWorks Common Lisp (www.lispworks.com). LispWorks, in turn, is a Lisp implementation that is source-code compatible across Windows, Linux, Mac OS X, and some UNIX platforms. ENP is primarily intended to represent Western musical notation roughly from the 17th century onward with a strong emphasis on modern notation. ENP is not a full-featured music typesetting program. However, it is designed to produce automatic, reasonable musical typesetting according to the common practices described, for example, in Stone (1980) and Read (1982). ENP is used as a notational front end in a visual programming language called PWGL (Laurson and Kuuskankare 2002). PWGL is a combination of several software packages build on top of Common Lisp. In addition to ENP, the components include, for example, a rule-based programming language called PWGLConstraints (Laurson 1996), and a sound-synthesis program called PWGLSynth (Laurson et al. 2005). The development of PWGL is focused toward the Mac OS X operating system, but it currently runs also under Windows XP. A Linux version is under consideration. PWGL is freeware, and it can be downloaded from our Web site at www.siba.fi/PWGL/. ENP has a sophisticated GUI based on direct editing, a rich set of musical primitives, an extended concept of expressions, and algorithmic control over scores. It contains a unique set of features that cannot be found elsewhere, at least to this extent of integration in one program. ENP allows one to analyze, modify, view, and annotate scores in many different ways; a text-based format can be used to generate scores algorithmically; it is possible to modify data contained by the objects in a score by using a scripting language; our rule-based programming language can be used Computer Music Journal, 30:4, pp. 67-79, Winter 2006 ? 2006 Massachusetts Institute of Technology.