[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

Cevap