---- nusret <[EMAIL PROTECTED]> demiş ki: 
> gecen mesajinizda verdiginiz forcer kodunu CL ile
> yazarsak soyle oluyor (CL bilmiyorum dediniz ya, onun
> icin Forcer'in scheme kodunu cevireyim: boylece
> karsilastirma sansiniz olur diye):
> 
> (defun combinations (lst)
>   ; #scheme kanalindan forcer'in kodu.
>   (labels ((comby (lst)
>     (if (null (cdr lst))
>       (list lst)
>       (let ((curr (car lst))
>             (combs (comby (cdr lst))))
>         (append (list (list curr))
>                 combs
>                 (mapcar(lambda (comb)
>                        (cons curr comb))
>                      combs))))))
>     (append (list '()) (comby lst))))

Elinize sağlık. (Şu mapcar'dan bir tane de Scheme'e eklemem lazım.)

> Ben boskumeyi kombinasyon listesine eklemek icin kucuk
> bir degisiklik yaptim o kadar.

Evet, bu gönderdiğim algoritmaların (Haskell hariç sanırım) ortak eksiğiydi.

> Parrot ile ilgili birsey bilmiyorum desem dogru olur.
> VM fikri bana da guzel geliyor: ozellikle portabilite
> acisindan degil de, daha cok belki degisik dillerde
> yazilan rutinleri ayni programda kullanmayi
> kolaylastirabilir diye... Benim numerik isler yapmayi
> dusunmemden dolayi cekincem performans: ama bir JIT,
> hotspot, vb. teknoloji ile desteklenirse gercekten
> guzel olur.

Şu an çok kararlı olmamasına karşın etraflarda bir JIT projesi mevcuttu yanlış 
hatırlamıyorsam. Ama zaten Parrot VM üzerinde çalışan bir kodu native 
executable hale dönüştürebiliyorsunuz.

Parrot'un bir diğer hoşuma giden tarafı ise şu: İki farklı programcı iki farklı 
programlama dilinde (örneğin Common Lisp ve Haskell) iki farklı kod yazıyor. Ve 
bunlar Parrot'ın o dil için geliştirilmiş derleyicileri ile PIR/PASM/PBC koduna 
dönüştürüldüklerinde, her kütüphane bir diğerini sanki o da aynı programlama 
dilinde yazılmışcasına çağırabiliyor. Biz buna "One bytecode to rule them 
all..." diyoruz. :-)

Ama sorun şu ki Parrot'un geliştirimi biraz Perl6'nın geliştirimi ile paralel 
koşturulmaya çalışılıyor gibi. Ki Perl6'nın oldukça yavaş bir seyir izlediği 
göz önünde bulundurulursa, Parrot da aynı yavaşlıktan nasibini alıyor. VM şu an 
100% tamamlanmamış olsa da, şu hali ile piyasadaki bir çok programı 
kaldırabilir durumda. Tek eksikleri düzgün Language2Parrot çeviricileri. (Dün 
ne yazık ki bir tek satır Scheme/Python kodunu bile Parrot'a çevirecek düzgün 
alet bulamadım. Bulduklarımı da çalıştıramadım. Programların kendileri 
derlenmiyorlar bile.) Parrot VM iyi güzel hoş da, kimseden Parrot Assembly'si 
ile kod yazmasını bekleyemezsiniz. Etrafta düzgün Language2Parrot yazılımları 
olmalı.


İyi çalışmalar.

_______________________________________________
cs-lisp mailing list
[email protected]
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

Cevap