Haskell - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Özellikler
  • 2 Kod örnekleri
  • 3 Kaynakça
  • 4 Dış bağlantılar

Haskell

  • العربية
  • Azərbaycanca
  • Беларуская
  • Български
  • বাংলা
  • Català
  • Čeština
  • Dansk
  • Deutsch
  • Ελληνικά
  • English
  • Esperanto
  • Español
  • Eesti
  • Euskara
  • فارسی
  • Suomi
  • Français
  • Galego
  • עברית
  • हिन्दी
  • Hrvatski
  • Magyar
  • Հայերեն
  • Bahasa Indonesia
  • Ido
  • Íslenska
  • İtaliano
  • 日本語
  • Қазақша
  • 한국어
  • Latina
  • Lëtzebuergesch
  • Latviešu
  • മലയാളം
  • मराठी
  • Bahasa Melayu
  • Nederlands
  • Norsk bokmål
  • ਪੰਜਾਬੀ
  • Polski
  • Português
  • Română
  • Русский
  • Simple English
  • Slovenčina
  • Slovenščina
  • Shqip
  • Српски / srpski
  • Svenska
  • ไทย
  • Toki pona
  • Українська
  • Tiếng Việt
  • 中文
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Wikimedia Commons
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi
Bu maddenin veya maddenin bir bölümünün gelişebilmesi için alakalı konuda uzman kişilere gereksinim duyulmaktadır.
Ayrıntılar için lütfen tartışma sayfasını inceleyin veya yeni bir tartışma başlatın.
Konu hakkında uzman birini bulmaya yardımcı olarak ya da maddeye gerekli bilgileri ekleyerek Vikipedi'ye katkıda bulunabilirsiniz.
(Nisan 2012)
Haskell
Haskell logosu
Paradigmasıfonksiyonel, tembel/kesin olmayan, modüler
İlk çıkışı1990
TasarımcıSimon Peyton Jones, Lennart Augustsson, Dave Barton, Brian Boutel, Warren Burton, Joseph Fasel, Kevin Hammond, Ralf Hinze, Paul Hudak, John Hughes, Thomas Johnsson, Mark Jones, John Launchbury, Erik Meijer, John Peterson, Alastair Reid, Colin Runciman, Philip Wadler
Kararlı sürümHaskell 2010 (Temmuz 2010 (15 yıl önce) (2010-07))
Test sürümüHaskell 2011
Önemli uygulamalarıGHC, Hugs, NHC, JHC, Yhc, UHC
LehçeleriHelium, Gofer, Hugs, Ωmega
İşletim sistemiÇapraz platform
Olağan dosya uzantıları.hs, .lhs
Web sitesihaskell.org

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, monadlar ve tür sınıflarıdır. Haskell, Miranda dilinin semantikleri üzerine kuruludur. Akademide ve endüstride yoğun olarak kullanılmaktadır.

Öğretim, araştırma ve endüstriyel uygulamalar için tasarlanan Haskell, tip güvenli işleç aşırı yüklemesine olanak tanıyan tip sınıfları ve monadik giriş/çıkış (IO) gibi bir dizi programlama dili özelliğine öncülük etmiştir. İsmini mantıkçı Haskell Curry'den almıştır.[1] Haskell'in ana uygulaması Glasgow Haskell Derleyicisidir (GHC).

Haskell'in semantiği tarihsel olarak, ilk Haskell çalışma grubunun çabalarına odaklanmaya hizmet eden Miranda programlama dilinin semantiğine dayanmaktadır.[2] Dilin son resmi spesifikasyonu Temmuz 2010'da yapılırken, GHC'nin gelişimi Haskell'i dil uzantıları yoluyla genişletmeye devam etmektedir.

Özellikler

[değiştir | kaynağı değiştir]

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

[değiştir | kaynağı değiştir]

Ö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

Kaynakça

[değiştir | kaynağı değiştir]
  1. ^ "A History of Haskell: Being Lazy With Class April 16, 2007" (PDF). 21 Ağustos 2024. 20 Ağustos 2024 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 21 Ağustos 2024. 
  2. ^ Edward Kmett, Edward Kmett – Type Classes vs. the World 17 Mart 2016 tarihinde Wayback Machine sitesinde arşivlendi.

Dış bağlantılar

[değiştir | kaynağı değiştir]
  • "Glasgow Haskell Compiler". 13 Mart 2024 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Mart 2024. 
  • "GHCup". 13 Mart 2024 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Mart 2024. 
  • g
  • t
  • d
Programlama dilleri
  • Karşılaştırma
  • Zaman Çizelgesi
  • Tarihçe
  • Ada
  • ALGOL
  • APL
  • Assembly
  • BASIC
  • C
  • C++
  • C#
  • Classic Visual Basic
  • COBOL
  • Erlang
  • Forth
  • Fortran
  • Go
  • Haskell
  • Java
  • JavaScript
  • Kotlin
  • Lisp
  • Lua
  • MATLAB
  • ML
  • Object Pascal
  • Pascal
  • Perl
  • PHP
  • Prolog
  • Python
  • R
  • Ruby
  • Rust
  • SQL
  • Scratch
  • Shell
  • Simula
  • Smalltalk
  • Swift
  • Visual Basic
  • dahası...
  • Liste Listeler: Alfabetik
  • Kategoriik
  • Nesilsel
  • İngilizce temelli olmayan
  • Kategori Kategori
Otorite kontrolü Bunu Vikiveri'de düzenleyin
  • BNE: XX541061
  • BNF: cb12362303j (data)
  • GND: 4318275-6
  • LCCN: sh93003496
  • NKC: ph903880
  • NLI: 987007561153805171
Taslak simgesiProgramlama dili ile ilgili bu madde taslak seviyesindedir. Madde içeriğini genişleterek Vikipedi'ye katkı sağlayabilirsiniz.
"https://tr.wikipedia.org/w/index.php?title=Haskell&oldid=35632539" sayfasından alınmıştır
Kategoriler:
  • Programlama dili taslakları
  • Haskell
Gizli kategoriler:
  • Webarşiv şablonu wayback bağlantıları
  • Uzman ilgisi gerektiren maddeler Nisan 2012
  • BNE tanımlayıcısı olan Vikipedi maddeleri
  • BNF tanımlayıcısı olan Vikipedi maddeleri
  • GND tanımlayıcısı olan Vikipedi maddeleri
  • LCCN tanımlayıcısı olan Vikipedi maddeleri
  • NKC tanımlayıcısı olan Vikipedi maddeleri
  • NLI tanımlayıcısı olan Vikipedi maddeleri
  • Tüm taslak maddeler
  • Sayfa en son 20.32, 8 Temmuz 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Haskell
Konu ekle