Haskell, tamamen matematiksel ve mantıksal süreçlere dayalı, tamamen işlevsel bir programlama dilidir. Fonksiyonel programlama bir bildirimsel programlama biçimidir, yani programın nasıl yapılması gerektiğini detaylandırmak ve sıralamaktan ziyade doğasına ve neyi başarması gerektiğine odaklandığı anlamına gelir (zorunlu programlamada olduğu gibi). Haskell'in tamamen işlevsel yapısı, geliştiricilere, programın mantığını açık bir şekilde anlamak için çalışabilecekleri basit bir kod sağlar, komutlar ve uzun kod bölümleri arasında gezinmeden.
Haskell'in özellikleri ve fonksiyonel programlama
Fonksiyonel programlama, kodun analiz edilmesini kolaylaştırır; mantıksal, matematiksel ve özeldir. Haskell, tamamen işlevsel bir dilin birincil örneklerinden biridir. İsmini, geliştirilecek fonksiyonel programlama dillerinin temelini oluşturan matematikçi ve mantıkçı Haskell Brooks Curry'den almıştır. Haskell, finans ve teknoloji gibi çok özel, doğru ve açık matematiksel süreçler gerektiren bazı işletmeler arasında popülerdir.
Haskell'in (ve genel olarak tamamen işlevsel programlamanın) özellikleri şunları içerir:
saf fonksiyonlar analiz etmek ve test etmek daha kolaydır ve dış olaylardan bağımsızdır. Diğer bir deyişle, saf işlevler, programın diğer bölümlerini etkilemeden her seferinde aynı yanıtı verir.
Yok hayır yan etkiler işlevler her çağrıldıklarında aynı değeri döndürdüğünden, programın başka bir yerinde yan etkileri yoktur. Bir yan etki, yalnızca göründüğü yerel alanı değil, genellikle programın durumunu değiştirir. İşlevler saf olduğundan, geliştiriciler Haskell'de çalışırken herhangi bir yan etkiden kaçınabilirler.
Tembel değerlendirme program bir işlevi yalnızca kesinlikle zorunlu olduğunda değerlendirecektir. Sadece çünkü fonksiyonları değerlendirmeyecektir. Bu daha etkilidir.
Statik yazarak programcı, programı geliştirirken bir değişkene bir veri türü atamalıdır. Tipik olarak, program daha sonra değişkenin sonraki her örneği için bu türü varsayacaktır.