Bursa'dan Küçük Bir Haskell Dersi

0
FZ
Bay Bursa, zaman zaman Powered by Ph.D. şakalarına maruz kalan Haskell programlama dilini kullanarak "bakın gerçek hayatta mesela şu işimize yarayacak" dercesine bir CSS "eniyileştirici" (optimizer) örneği vermiş: Factor CSS.
Az önce irc.freenode.net'teki #fazlamesai kanalında bulunan web programcılarının "hadi canım sen de!", "şaka mı bu?", "kendimi kötü hissediyorum..." nidalarına yol açan Factor CSS, yazılmış CSS stil dosyasını ineleyip aynı işe yarayacak çok daha kısa CSS dosyası üretiyor.

Daha önce darcs kaynak kod sürüm kontrol sisteminin geliştirilmesi için kullanıldığını bildiğimiz Haskell dili ile ilgilenmek için bir sebep daha.

FM'de daha önce çıkmış Haskell makalelerine buradan erişebilirsiniz.

Görüşler

0
FZ
Az önce bir projede kullandığımız CSS dosyalarından birini denedim, 255 satırdan 34 satıra indi!
0
bio
255 daha havali bir sayi ama. Hele binary olursa...
0
ttk
İlgili stil dosyasını kullanan her bir web sayfası başına 221 satır tasarruf, gerçekten güzel iş. Bu arada Haskell epey pratik bir dilmiş gördüğüm kadarı ile.
0
gismo
http://zamez.org/factorcss?url=http%3A%2F%2Fwww.hurriyet.com.tr%2F_css%2Ftum.css hürriyetinki 1182 satırdan 11 satıra indi!
0
myavuzselim
Peki bu ne isimize yarayacak? Mesela asagida hurriyet'in css'i satir olarak bayagi dusmus olabilir, ama harf sayisi olarak sadece 4'te birine inmis. Isin kotusu kisaltilan css'ler bana pek okunakli gelmedi. Belki de istenilen zaten okunakli olmasi degil de daha az yer kaplamasidir, bilmiyorum. Bir css dosyasinin da az yer kaplamsi pek onemli olmasa gerek.

Anladigim kadariyla normalde css dosyalarina "X elemani icin A,B,C,D ozellikleri gecerlidir, Y elemani icin B,D,E ozellikleri gecerlidir, ..." seklinde yazilir, ama bu program onu su sekle ceviriyor: "B,D X ve Y icin gecerlidir. A,C X icin gecerlidir, E Y icin gecerlidir".
Css dosyalarinda bircok elemana benzer ozellikler verildigi icin bu boyutu dusurmus, ama bana gore cirkin bir hale sokmus.

Ne sekilde faydali kullanilabilir acaba?
0
myavuzselim
Sayfayi bir daha okudum:
"This helps reveal shared components. The resulting stylesheet may also be smaller."

Yani esas olan zaten dosyayi kucultmek degil, incelemek, kurallari baska bir acidan gorebilmek, ...
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Haskell E-Posta Listesi

aycanirican

Haskell programlama konusunda açtığımız tartışma listesine tüm Haskell programcılarını bekliyoruz.

Haskell: Farklı Bir Programlama Dili

FZ

Değerli FM üyelerinden roktas'ın bana son yazdıklarını paylaşmadan edemedim.

Konu Haskell programlama dili ile ilgili. Debian'ın saygıdeğer isimlerinden John Goerzen, Free Software Magazin isimli dergide Haskell: A very different language başlıklı güzel ve detaylı bir makale yazmış.

Gerçek Dünyada Programlama için Haskell: Real World Haskell

FZ

Pratik ve gerçekçi örnekler üzerinden güçlü ve modern Haskell programlama dilini anlatan Real World Haskell kitabının yazılması tamamen bitti. Kitap yakında O'Reilly tarafından basılıp satılacak ancak Internet üzerinden bedelsiz olarak sunulmaya devam edilecek. Kitapla ilgili gelişmeleri blogundan takip edebilirsiniz.

Sınırları Geçmek: Haskell ile Fonksiyonel Programlamayı Keşfedin

FZ

Better, Faster, Lighter Java ve Beyond Java kitaplarının yazarı Bruce Tate, Crossing Borders (Sınırları Geçmek) makale dizisinin bu bölümünde Haskell ile fonksiyonel programlamaya giriş yapıyor, bu paradigmayı ve dili iyi bildiği Java ve Ruby gibi geliştirme ortamları ile kıyaslıyor.

FM'de daha önce yayınlanmış Haskell ile ilgili makalelere buradan erişebilirsiniz.

Betik Diliyle Monad Kavramını Öğrenin

anonim

Fonksiyonel programlama yapabilmek için önemli bir teknik olan ve Haskell dili sayesinde duymaya başladığımız Monad kavramını evinizde betik diliyle öğrenmek için bir kılavuz.
Monad kullanımı saf fonksiyonel programlama dışında şart olmasa da bu kavramın getirdiği programlama disiplininin öğrenmeye değer olduğu vurgulanıyor. Ufkunuzu biraz daha genişletmek ve ilerde Haskell öğrenirseniz konuya aşina olmak için okuyabilirsiniz.