Haskell - Komposisi Fungsi
Function Compositionadalah proses menggunakan keluaran dari satu fungsi sebagai masukan dari fungsi lain. Akan lebih baik jika kita mempelajari matematika di belakangcomposition. Dalam matematika,composition dilambangkan dengan f{g(x)} dimana g() adalah fungsi dan keluarannya digunakan sebagai masukan dari fungsi lain, yaitu, f().
Komposisi fungsi dapat diimplementasikan menggunakan dua fungsi, asalkan jenis keluaran dari satu fungsi cocok dengan jenis masukan dari fungsi kedua. Kami menggunakan operator titik (.) Untuk mengimplementasikan komposisi fungsi di Haskell.
Lihatlah kode contoh berikut. Di sini, kami telah menggunakan komposisi fungsi untuk menghitung apakah sebuah bilangan input genap atau ganjil.
eveno :: Int -> Bool
noto :: Bool -> String
eveno x = if x `rem` 2 == 0
then True
else False
noto x = if x == True
then "This is an even Number"
else "This is an ODD number"
main = do
putStrLn "Example of Haskell Function composition"
print ((noto.eveno)(16))
Di sini, di main fungsi, kami memanggil dua fungsi, noto dan eveno, secara bersamaan. Kompilator pertama-tama akan memanggil fungsi tersebut"eveno()" dengan 16sebagai argumen. Setelah itu, kompilator akan menggunakan keluaran darieveno metode sebagai masukan dari noto() metode.
Outputnya adalah sebagai berikut -
Example of Haskell Function composition
"This is an even Number"
Karena kita menyediakan bilangan 16 sebagai input (yang merupakan bilangan genap), maka eveno() fungsi kembali true, yang menjadi masukan untuk noto() fungsi dan mengembalikan output: "Ini adalah Angka genap".