-----Original Message-----
From: [EMAIL PROTECTED] on behalf of aykut "ÿffffe7aÿfffff0layan
Sent: Tue 11/6/2007 1:20 AM
To: lisp grup
Subject: [cs-lisp] sual 4; degiskensiz fonksiyon tanimlama?

Enteresan bir baslik olmus, fonksiyonun degisken alip almamasindan ziyade 
fonksiyonun bir isminin olup olmamasi (anonim fonksiyonlar) kafa karisikligina 
yol acar genelde (diger dillere alismis programcilarda yani, deneyimli bir 
muzisyenin farkli bakis acisini gormek zevkli).
 
> (define (akor-salla)
>    (let* ((t (random 116))
>           (m (+ t (random 3) 2))
>           (d (+ t (random 3) 5)))
>      (list t m d)))
>
> Bunu "PLT Scheme ..module" de calistirabiliyorum.
> Peki "define" yerine CL'de hangi macro'yu kullanabirim.

Common Lisp'te defun'i kullanmalisin:

http://www.lisp.org/HyperSpec/Body/mac_defun.html
http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node40.html#SECTION006130000000000000000

Yahut lispdoc'a basvurabiliriz, o da bize hem yukaridakileri hem de Practical 
Common Lisp ile Successful Lisp'ten bazi ornekleri soyler:

http://lispdoc.com/?q=defun&search=Basic+search


Dikkat: Scheme kodlarina bakip bunlari CL'ye cevirmek baslangicta bazen kafa 
karistirici olabilir, bu basit ornekte bu tur bir risk pek yok ama bunu aklinda 
bulundur.

--
Emre Sevinc
_______________________________________________
cs-lisp mailing list
cs-lisp@cs.bilgi.edu.tr
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

Cevap