poniedziałek, 9 lipca 2007

lazy K

Unlambda opiera się na rachunku kombinatorów SKI, który jest rachunkiem lambda pozbawionym zmiennych - stąd nazwa. Dodatkowo autor dołożył kilka nadmiarowych mechanizmów, w tym "call with current continuation", znane niektórym z Guile. Zrobił to celowo, na złość, zresztą przyznaje się do tego, chciał jeszcze bardziej zaciemnić obraz tego, co robi program w jego języku. Warto przejrzeć jego artykuł na ten temat. Konstrukacja ta robi czary-mary ze stanem obliczeń, w sposób dużo bardziej tajemniczy niż setjmp(3) z C albo throw/catch z C++. Inaczej autor "lazy K" - ten uprościł wszystko maksymalnie i zostawił tylko operatory ("kombinatory") S, K, I. Zresztą i tak był rozrzutny - przecież I może być wyrażone jako (S K K) - zobacz tu. Ale Chris Baker był jeszcze bardziej radykalny i stworzył język, który ma tylko dwa symbole i nadal jest kompletny. Czemu to służy ? Tylko teoretycznym badaniom. Albo artystycznej zabawie - dla niektórych język programowania też jest dziełem sztuki .......

Brak komentarzy: