şükela:  tümü | bugün soru sor
  • bir functional programming language ,
    http://haskell.org/ sitesinden bilgi alınabilir.
  • 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]
  • http://www.zvon.org/…askell/outputglobal/index.html adresinde güzel bir reference mevcut.
  • ugrasanlarin genelde akademik kimseler olmasindan mutevellit powered by phd gibi bir slogana sahip olan guzel fonksiyonel programlama dili.

    http://www.cafepress.com/pugscode.28778050
  • 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.