October 15th, 2007

with Cat The Cat

"Скажите, не на вас ли я был когда-то женат?"

with Cat The Cat

Мысль.

Функциональность языков определяется возможностью рассуждения с подстановкой результатов вместо вычислений.

Чем чаще мы можем применять (\x.e)z ≅ e[x/z], как при написании кода, так и при рассуждении о нем, тем нам лучше, а язык функциональней.

Соответственно, хуже всего с языком, который не дает это делать вообще. Это будет идеально нефункциональный язык во всех смыслах этого слова. Intercal будет нервно мять кружевной платочек в длииных тонких пальцах.

Как его сделать?

Взять лямбда-исчисление с индексами де Брюина (de Brujin) и рандомизировать их.

Мало, я думаю, не покажется. ;)