Friday, March 25, 2005

Closures si Lisp

Citesc Programare in LISP, de Stefan Trausan-Matu.
Nu mi s-a mai intamplat de mult ca ceea ce citesc sa mi se para "frumos" (stiu, e un cuvant mare :)), si nici pe departe nu m-as fi asteptat ca acest lucru sa mi se intample in cazul unei carti IT.
Insa trebuie sa admiri "frumusetea" LISP-ului din moment ce e capabil de asa ceva:

> (setq m (let ((x 1)) #'(lambda()(setq (1+ x)))))
> (funcall m)
2
> (funcall m)
3

Nu ma intrebati de ce mi se pare ca e "frumoasa" constructia de mai sus, n-as putea spune, insa incep sa cred din ce in ce mai mult in "the quality without a name", cum o numea Christopher Alexander (via Richard Gabriel - Patterns of Software (PDF))

0 Comments:

Post a Comment

<< Home