haskell
-
-
scheme* gibi fonksiyonel programlama dillerindendir. (imperative dümenler çevirilebilir) monad diye bi olayi vardir, kullanmasini bilene güzeldir.
-
gerçekten saf* bir fonksiyonel programlama dili.
en önemli özelliklerinden biri lazy evaluation yapmasıdır. bu sayede sonsuz listeler tanımlayabilirsiniz ancak gerek olmadığı sürece haskell bunu hesaplamayacağından herhangi bir loop'a girmez, sorun yaşamazsınız.
mesela tüm tam sayıların karelerinden oluşan bir liste tanımlayacağım, çok kolay...
squares = [n*n | n<-[0..]]
ancak gene de sikim* gibi bişidir. zaten tüm fonksiyonel programlama dilleri esasen sikim* gibidir. zira bana acı çektirmekten başka bi scheme'e yaradıklarını görmedim.
(bkz: ne kadar sallarsan salla dona düşer son damla) -
fib = 1 : 1 : [a+b | (a,b) <- zip fib (tail fib)]
gibi birsey yazarak tum fibonacci sayilarini iceren bir liste yaratmaniz, ve sadece ihtiyaciniz oldukca ihtiyac duydugunuz kadarini kullanmaniz mumkundur. ayrica lazy evaluation yaptigi icin bir fibonacci sayisini sadece bir defa hesaplar ve memoize eder, boylece ekstra hizli calisir.
take 10 fib
[1,1,2,3,5,8,13,21,34,55] -
ugrasanlarin genelde akademik kimseler olmasindan mutevellit powered by phd gibi bir slogana sahip olan guzel fonksiyonel programlama dili.
http://www.cafepress.com/pugscode.28778050 -
(bkz: simon peyton jones)
-
size bik bik etmeyen bir dildir (velev ki faktöriyel hesaplamak istiyoruz):
prelude> (\x -> foldr (*) 1 [x, x-1 .. 1]) 4
24
prelude> (\x -> foldr (*) 1 [x, x-1 .. 1]) 5
120
prelude> (\x -> foldr (*) 1 [x, x-1 .. 1]) 42
1405006117752879898543142606244511569936384000000000
prelude> (\x -> foldr (*) 1 [x, x-1 .. 1]) 69
171122452428141311372468338881272839092270544893520369393648040923257279754140647424000000000000000
mis. -
ne dediler:
... haskell taking over the world and troubled parents ask why their kids have turned into math hippies talking about nothing but love and abstract algebra...
-- schluehk
haskell manipulates functions with the same ease that perl manipulates strings
-- johngoerzen
damn it, haskell pseudo code is indistinguishable from actual code
-- roconnor
smith's law: any sufficiently large test suite for a program written in a dynamic language will contain an ad-hoc, informally-specified, bug-ridden, slow, patchy implementation of half of the haskell type system
-- ?
fear leads to uncertainty. uncertainty leads to doubt. doubt leads to theorem proving.
-- monochrom
programming in haskell is like dual-wielding two light sabers whereas programming in imperative languages is like being equipped with a blunt kitchen knife.
-- apfelmus
kaynak: haskell weekly news -
görünce hasta olduğum ama öğrenemediğim,öğrenmeye üşendiğim programlama dili
6 sene sonra gelen edit: üşenmedim öğrendim, hala hastasıyım. -
birinci sinifta scheme'le parantezler arasina giren freshman'lerin sayesinde syntax orgazmlarina ulastigi dil.
ekşi sözlük kullanıcılarıyla mesajlaşmak ve yazdıkları entry'leri
takip etmek için giriş yapmalısın.
hesabın var mı? giriş yap