Bu maddenin veya maddenin bir bölümünün gelişebilmesi için alakalı konuda uzman kişilere gereksinim duyulmaktadır.Nisan 2012) ( |
Haskell, isim babası matematikçi Haskell Curry olan arı işlevsel programlama dilidir. Haskell'i birçok programlama dilinden ayıran özellikleri tembel değerlendirme, ve . Haskell, Miranda dilinin semantikleri üzerine kuruludur. Akademide ve endüstride yoğun olarak kullanılmaktadır.
![]() | |
Paradigması | fonksiyonel, tembel/, modüler |
---|---|
İlk çıkışı | 1990 |
Tasarımcı | , , , , , , , , , , , , , , , , , |
Kararlı sürüm | Haskell 2010 (Temmuz 2010 | ) )
Test sürümü | Haskell 2011 |
, , | |
, , NHC, JHC, , UHC | |
, , , | |
İşletim sistemi | Çapraz platform |
Olağan dosya uzantıları | .hs , .lhs |
Web sitesi | haskell.org |
Özellikler
Haskell tembel değerlendirme, örüntü eşleme, tip sınıfları, tip polimorfizmi özelliklerini barındırır. Fonksiyonlarının yan etkilere sebep olmaması nedeniyle arı işlevsel bir dil olarak bilinir.
Haskell'in birçok gerçeklenimi bulunmaktadır. Bunlar arasında de-facto lider olan Glasgow Haskell Compiler'dır. GHC ve diğer araçlar GHCup yükleyicisi kullanılarak edinilebilir.
Kod örnekleri
Örnek bir Merhaba dünya Haskell kodu:
module Main where main :: IO () main = putStrLn "Merhaba Dünya!"
Haskell'de farklı yaklaşımlarla yazılmış faktöriyel fonksiyonu örnekleri:
-- Tip tanımı (opsiyonel) factorial :: (Integral a) => a -> a -- Özyineleme kullanılarak factorial n | n < 2 = 1 factorial n = n * factorial (n - 1) -- Özyineleme ve guard kullanılarak factorial n | n < 2 = 1 | otherwise = n * factorial (n - 1) -- Örüntü eşleme (Pattern matching) kullanmadan özyineleme kullanarak factorial n = if n > 0 then n * factorial (n-1) else 1 -- Liste kullanılarak factorial n = product [1..n] -- fold kullanılarak (product fonksiyonunu implement ederek) factorial n = foldl (*) 1 [1..n] -- Point-free stili ile factorial = foldr (*) 1 . enumFromTo 1
Bir hızlı sıralama uyarlaması:
quickSort :: Ord a => [a] -> [a] quickSort [] = [] -- Boş liste zaten sıralıdır quickSort (x:xs) = quickSort [a | a <- xs, a < x] -- Listenin sol tarafını sırala ++ [x] ++ -- Pivotu iki sıralı liste arasına yerleştir quickSort [a | a <- xs, a >= x] -- Listenin sağ tarafını sırala
Dış bağlantılar
- "Glasgow Haskell Compiler". 13 Mart 2024 tarihinde kaynağından . Erişim tarihi: 13 Mart 2024.
- "GHCup". 13 Mart 2024 tarihinde kaynağından . Erişim tarihi: 13 Mart 2024.
![]() | Programlama dili ile ilgili bu madde seviyesindedir. Madde içeriğini genişleterek Vikipedi'ye katkı sağlayabilirsiniz. |
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Bu maddenin veya maddenin bir bolumunun gelisebilmesi icin alakali konuda uzman kisilere gereksinim duyulmaktadir Ayrintilar icin lutfen tartisma sayfasini inceleyin veya yeni bir tartisma baslatin Konu hakkinda uzman birini bulmaya yardimci olarak ya da maddeye gerekli bilgileri ekleyerek Vikipedi ye katkida bulunabilirsiniz Nisan 2012 Haskell isim babasi matematikci Haskell Curry olan ari islevsel programlama dilidir Haskell i bircok programlama dilinden ayiran ozellikleri tembel degerlendirme ve Haskell Miranda dilinin semantikleri uzerine kuruludur Akademide ve endustride yogun olarak kullanilmaktadir HaskellParadigmasifonksiyonel tembel modulerIlk cikisi1990Tasarimci Kararli surumHaskell 2010 Temmuz 2010 13 yil once 2010 07 Test surumuHaskell 2011 NHC JHC UHC Isletim sistemiCapraz platformOlagan dosya uzantilari hs lhsWeb sitesihaskell orgOzelliklerHaskell tembel degerlendirme oruntu esleme tip siniflari tip polimorfizmi ozelliklerini barindirir Fonksiyonlarinin yan etkilere sebep olmamasi nedeniyle ari islevsel bir dil olarak bilinir Haskell in bircok gerceklenimi bulunmaktadir Bunlar arasinda de facto lider olan Glasgow Haskell Compiler dir GHC ve diger araclar GHCup yukleyicisi kullanilarak edinilebilir Kod ornekleriOrnek bir Merhaba dunya Haskell kodu module Main where main IO main putStrLn Merhaba Dunya Haskell de farkli yaklasimlarla yazilmis faktoriyel fonksiyonu ornekleri Tip tanimi opsiyonel factorial Integral a gt a gt a Ozyineleme kullanilarak factorial n n lt 2 1 factorial n n factorial n 1 Ozyineleme ve guard kullanilarak factorial n n lt 2 1 otherwise n factorial n 1 Oruntu esleme Pattern matching kullanmadan ozyineleme kullanarak factorial n if n gt 0 then n factorial n 1 else 1 Liste kullanilarak factorial n product 1 n fold kullanilarak product fonksiyonunu implement ederek factorial n foldl 1 1 n Point free stili ile factorial foldr 1 enumFromTo 1 Bir hizli siralama uyarlamasi quickSort Ord a gt a gt a quickSort Bos liste zaten siralidir quickSort x xs quickSort a a lt xs a lt x Listenin sol tarafini sirala x Pivotu iki sirali liste arasina yerlestir quickSort a a lt xs a gt x Listenin sag tarafini siralaDis baglantilar Glasgow Haskell Compiler 13 Mart 2024 tarihinde kaynagindan Erisim tarihi 13 Mart 2024 GHCup 13 Mart 2024 tarihinde kaynagindan Erisim tarihi 13 Mart 2024 Programlama dili ile ilgili bu madde taslak seviyesindedir Madde icerigini genisleterek Vikipedi ye katki saglayabilirsiniz