Programming

Organum in Music

Written by on February 6, 2016 in LISP, Music, Programming with 0 Comments
Organum in Music

When two or more voices in a song follow the same rhythm and move by the same interval, thus causing a parallel motion of the voices, it is referred to as Organum. Depending on the intervals between the voices, this can give rise to a rich and interesting effect. For today’s experiment, I decided to […]

Continue Reading

How to Use Reaktor with Opusmodus

Written by on January 8, 2016 in LISP, Music, Programming with 0 Comments
How to Use Reaktor with Opusmodus

For those of you who do not know about Opusmodus (OM), it is a very powerful and flexible algorithmic music composition environment built in Lisp. It is available for the Mac. Today I wanted to understand how to make Opusmodus communicate with Reaktor 6 to play some tunes. The built-in documentation gives a couple of […]

Continue Reading

Lisp: Returning Multiple Values From A Function

Written by on January 6, 2016 in LISP, Programming with 0 Comments

One of the interesting features of Lisp is its support for returning multiple values from a function, without bundling the values in a special container. Languages such as Python and Ruby support multi-value return (although there are subtle differences from Lisp). In C++11, we can use std::make_tuple() and std::tie(). To take an example, in Lisp, […]

Continue Reading

Aspect-Oriented Programming and Lisp

Written by on November 13, 2015 in LISP, Programming with 0 Comments
Aspect-Oriented Programming and Lisp

Aspect-oriented programming (AOP) is a popular approach to handle cross-cutting concerns in an application. Common examples of cross-cutting functionality are Logging, Error Handling and Transaction Management. AspectJ is the original AOP extension created for Java in 2001. AOP extensions have been developed for some other languages also. There are many good books and online resources on AOP, so I […]

Continue Reading

Multimethods in Lisp

Written by on October 13, 2015 in LISP, Programming with 0 Comments
Multimethods in Lisp

In object-oriented languages such as C++ and Java, virtual functions are dynamically dispatched based on the runtime type of the receiving object. But if such virtual functions have an argument that is itself based on a class hierarchy, there is no way to associate dynamic dispatch based on both the receiver and the argument. In […]

Continue Reading

Learning LISP – Resources

Written by on October 8, 2015 in LISP, Programming with 1 Comment

During my talks on Lisp Programming, I am invariably asked to suggest good books to start learning the language. Here is a (partial) list that I readily recommend. Beginner Level: ANSI Common Lisp, Paul Graham, Prentice Hall, 1996. Common LISP: A Tutorial, Wendy L.Milner, Prentice Hall, 1988. Land of LISP: Learn To Program in LISP, […]

Continue Reading

Top