Haskell memiliki gagasan tentang "fungsi generik" yang memiliki beberapa kemiripan yang jelas dengan common lisp — tidak memiliki pengalaman dengan Haskell atau dengan common lisp, saya mungkin sangat aproksipatif di sini. Ini berarti bahwa seseorang dapat mendefinisikan to_string
fasilitas generik untuk mendefinisikan representasi string untuk semua tipe. Tentu saja, fasilitas harus didefinisikan dalam kasus-kasus khusus tetapi ada to_string
fungsi yang tanda tangannya α → string
.
Apakah jenis terhapus di Haskell, seperti di OCaml? Jika ya, bagaimana implementasi "fungsi generik" di Haskell berbeda dari yang umum, di mana jenisnya dinamis, dan dengan demikian tidak terhapus?
Saya mengerti bahwa detail implementasi spesifik untuk kompiler, tetapi mungkin ada ketentuan umum untuk banyak atau semua implementasi.
a -> String
. Anda akan lebih cenderung memiliki batasan tipeShow a => a -> String
.