Tidak seperti Java atau Pascal, Haskell memiliki tipe inferensi. Jika kita menulis angka, kita tidak harus memberi tahu Haskell bahwa itu adalah angka. Itu dapat disimpulkan dengan sendirinya, jadi kita tidak perlu secara eksplisit menuliskan jenis fungsi dan ekspresi kita untuk menyelesaikan sesuatu. Memahami sistem tipe adalah bagian yang sangat penting dalam mempelajari Haskell.

Type adalah jenis label yang dimiliki setiap ekspresi. Ini memberitahu kita dalam kategori mana ekspresi tersebut. Ekspresi True adalah boolean, “hello” adalah string, dll.

Sekarang kita akan menggunakan GHCI untuk memeriksa type ekspresi. Kita akan melakukannya dengan menggunakan perintah :t yang, diikuti oleh ekspresi yang valid, memberi tahu kita type nya. Mari kita berputar.

Image for post
Image for post

Di sini kita melihat bahwa dengan perintah :t pada ekspresi akan menampilkan ekspresi yang diikuti oleh tanda :: dan type nya. :: dibaca sebagai “memiliki tipe”. Type eksplisit selalu dilambangkan dengan huruf pertama dalam huruf kapital. ‘a’, seperti yang terlihat, memiliki tipe Char. Tidak sulit untuk menyimpulkan bahwa itu adalah karakter. True adalah tipe Bool. type “HELLO!” menghasilkan [Char]. Kurung kotak merupakan sebuah list. Jadi kita membacanya sebagai list karakter. Jadi ekspresi (True, ‘a’) memiliki type (Bool, Char), sedangkan ekspresi seperti (‘a’, ‘b’, ‘c’) akan memiliki type (Char, Char, Char ). 4 == 5 akan selalu menghasilkan False, jadi tipenya adalah Bool.

Function juga memiliki type. Saat menulis function kita sendiri, kita dapat memilih untuk memberi mereka deklarasi eksplisit type.

Image for post
Image for post

removeNonUppercase memiliki tipe [Char] -> [Char], artinya memetakan dari string ke string. Itu karena mengambil satu string sebagai parameter dan mengembalikan yang lain sebagai hasilnya. Jenis [Char] identik dengan String sehingga lebih jelas jika kita menulis removeNonUppercase :: String -> String.

Int adalah singkatan dari integer. Ini digunakan untuk bilangan bulat. 7 bisa menjadi Int tetapi 7.2 tidak bisa.

Integer juga integer. Perbedaan utama adalah bahwa itu tidak dibatasi sehingga dapat digunakan untuk mewakili angka yang sangat besar.

Image for post
Image for post

Bool adalah tipe boolean. Itu hanya dapat memiliki dua nilai: True dan False.

Char mewakili karakter. Ini dilambangkan dengan tanda kutip tunggal. List karakter adalah string.

Tentang EMURGO

EMURGO mendorong adopsi Cardano dan menambahkan nilai bagi pemegang ADA dengan membangun, berinvestasi, dan menjadi advisor/konsultan kepada proyek atau organisasi yang akan mengadopsi ekosistem blockchain yang terdesentralisasi dari Cardano. EMURGO memanfaatkan keahliannya dalam R&D blockchain serta jaringan global mitra blockchain dan industri terkait untuk mendukung usaha secara global. EMURGO adalah badan komersial dan ventura resmi dari proyek Cardano, terdaftar di Tokyo, Jepang sejak Juni 2017 dan di Singapura sejak Mei 2018. EMURGO berafiliasi secara unik dan bekerja sama dengan IOHK untuk menumbuhkan ekosistem Cardano secara global dan mempromosikan adopsi blockchain Cardano.

Pelajari lebih lanjut tentang EMURGO dan Cardano dengan menggunjungi website resmi https://emurgo.io

Follow akun media social EMURGO Indonesia:

Twitter : https://twitter.com/emurgo_id
Facebook : https://www.facebook.com/emurgo.id/
Instagram : https://www.instagram.com/emurgo.id/

Written by

EMURGO Solusi Indonesia

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store