Tue, 02 Mar 2010

Perl and Mu

It's not often that I get to talk about Perl and Zen in the same post. The Perl 6 type system is unusual in that a class is an instance of itself. An undefined instance of the class is set to the class type object. This is done to give a natural way to handle class methods. The question then is what is the class of Nil, the undefined constant value. Damian Comway suggested that this be called Mu. Mu is also the base class of the object hierarchy in Perl 6. The name is a little joke. Mu was Joshu's answer to the monk who asked if a dog has buddha nature and literally means no. His answer is not meant to be taken in a simple literal manner, no as opposed to yes. Joshu's answer was given to cut off the monk's thoughts about buddha nature, to point the monk away from his thoughts and towards the real. There are different sorts of nothing, the nothing of the undefined value, the mystics' via negativa, and the nothing of emptiness. Nothing is always relative to the thing being negated. In Perl's case it'd defined values versus undefined variables. A variable is undefined between its declaration and first assignment. In the case of emptiness, what is being negated is independent existence, existence above the factors a thing is dependent upon. And in the case of buddha nature, what is being negated is all contingent phenomena. Emptiness and buddha nature are the two opposite poles of Buddhist metaphysics. Emptiness denies the real in what is relative and buddha nature denies the relative in what is real. Yet they are not opposites, they are poles of a single thing, not real because relative and not relative because real. Even Damian Conway couldn't top that.

Wierd stuff in the news today. A Buddhist nun discovers an udumbara flower under her washing machine. And a Hindu group is promoting a soft drink made from cow's urine as a healthy alternative to Coke and Pepsi. Maybe healthier, but I doubt it will be more popular.

/dharma/ | permanent link