A higher order message (HOM) in a computer programming language is a form of higher-order programming that allows messages that have other messages as arguments. The concept was introduced at MacHack 2003[1][2] by Marcel Weiher and presented in a more complete form in 2005 by Marcel Weiher and Stéphane Ducasse.[3] Loops can be written without naming the collections looped over, higher order messages can be viewed as a form of point-free or tacit programming.