İşlevleri.Kısmi Uygulama
Verilen bu fonksiyon:
applyTwice :: (a -> a) -> a -> a
applyTwice f x = f (f x)
yazar ilginç bir şekilde kullanır:
İşteghci> applyTwice (++ [0]) [1]
[1,0,0]
ghci> applyTwice ([0] ++) [1]
[0,0,1]
ben olmayacaktı, hangi çıkan fonksiyon geçirilen farklı parametreler olduğunu açıkça görebilirsiniz Normal olarak, bir körelmiş işlevini göz önünde bulundurmak anlamına gelir (ister misiniz?). Yani, Haskell tarafından infix kesitinde herhangi bir özel tedavi var mı? Tüm infix işlevlerine genel mi? Bir yan not olarak
, bu Haskell ve fonksiyonel programlama, ile ilk hafta ve hala kitap okuyorum.
Yani, Haskell bilmiyorum ama '' elem 1' olarak 'aynı (1' elem \ '\) 'dir:
aşağıdaki kimlikler tutun? – Neil
@Neil: Evet, öyle. –
Her iki girişi de ihmal ettiğiniz bir bölüm olarak '(++) 'yi kullanmayı seviyorum. –