[EMAIL PROTECTED] wrote:
---- Mehmet Yavuz Selim Soyturk <[EMAIL PROTECTED]> demiş ki:
Problemi problemi scheme ile cozmeye calistim. Biraz sac bas yoldum,
ama sonra soyle birsey ortaya cikti:
(define (comb liste)
(let comb-help ((lst liste) (builded '(()) ))
(if (null? lst) builded
(comb-help (cdr lst)
(append builded
(map (lambda (x)
(cons (car lst) x))
builded))))))
Sonra diger kodlarla karsilastiridm. Forcer'in koduna benziyor, fakat
accumulator teknigini kullanarak tail-recursive olmasini sagladim.
Biraz daha hizli olacagini tahmin ediyorum.
Ben böyle yaptığım zaman #scheme kanalında hala C gibi düşünüp, Lisp ile
yazdığımı söylüyorlar. (Olması gereken Lisp gibi düşünüp, Lisp ile yazmakmış.)
Imperative yaza yaza, alışkanlık genlerime işlemiş.
Eger Scheme yerine Prolog ile ugrasiyor olsaydin bu durumu cok daha
fazlasi ile yasardin ;-)
(Yillarca imperatif programlamaya alisanlar bunun disina ciktiklarinda
bazen sudan
cikmis baliga dönebiliyorlar, bunun belki de tek istinasi SQL dilidir,
cok belirli bir alanda
ve hemen hep benzer seylerin cözümünde kullanildigi icin olsa gerek cok
fazla soruna
yol acmiyor SQL seklinde bir deklaratif programlama mantalitesini kapmak.)
Dillerin cogunun Turing-tamlik bakimindan birbirlerine denk oluslarinin
aslinda bazi bakimlardan
pek bir sey ifade etmiyor oluslarinin cok güzel bir örnegidir bu tür bir
durum.
ITU'nün Matematik Müh. bölümü hala C ile mi basliyor konuya? Herhangi
bir sekilde
Scheme ya da Common Lisp gündeme gelme olasiligi var mi?
--
Emre Sevinç
eMBA Yazılım Geliştirme
İstanbul Bilgi Üniversitesi
_______________________________________________
cs-lisp mailing list
[email protected]
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp