Apa beberapa intuisi yang mendukung memanggil constructor Maybe di Haskell "Just"?


11

Intuisi jenis opsional seperti Maybe Intadalah bahwa baik ada ada Int (dengan demikian, ada Nothingada) atau bahwa ada beberapa Int; ada sesuatu di sana.

Masuk akal bagi saya bahwa kami memanggil konstruktor tipe untuk kasus "negatif" Nothing, karena artinya persis seperti itu - bahwa tidak ada di Intsana. Tetapi mengapa menggunakan kata Hanya dalam kasus di mana penekanannya adalah pada sesuatu yang benar-benar ada di sana ?

Bagi saya, kata "Adil" membawa konotasi bahwa hal yang digambarkannya kurang dari alternatif; kebalikan dari sesuatu yang benar-benar ada di sana; sebagai contoh,

A: Apakah Anda melakukan sesuatu malam ini?

B: Tidak; Saya hanya akan tinggal di dan menonton TV.

A: Apakah Anda menyelidiki suara hantu menyeramkan di sekitar rumah Anda?

B: yeah, ternyata itu sebenarnya hanya burung hantu.

Jelas saya tidak memiliki intuisi apa pun yang dipilih berdasarkan penamaan ini. Apa itu? Karena bagi saya, kata Just berarti kebalikan dari bagaimana kata itu digunakan dalam Maybejenisnya.


4
Dalam hal ini, saya pikir Scala pergi dengan nama yang lebih baik dari Beberapa sebagai lawan dari None (tidak mengatakan itu penemuan Scala).
Andres F.

3
@AndresF. Itu kembali setidaknya ke ML yang Odersky jelas sangat akrab dengannya.
Derek Elkins meninggalkan SE

2
@RobertHarvey Jika Haskeller digunakan Maybesebagai monad, mereka kemungkinan akan menggunakan returndan mungkin sesuatu seperti mzerobukan Nothing. Ketika Justdigunakan secara langsung, biasanya Maybetidak digunakan dalam gaya monadik pada saat itu.
Derek Elkins meninggalkan SE

2
Preseden historis akan menjadi Optiontipe. Para perancang Haskell mungkin merasa bahwa foo x = Just x"membaca" lebih baik daripada foo x = Some x. Demikian pula, definisi tersebut data Maybe a = Just a | Nothingberbunyi cukup baik sebagai " Maybe aapakah Just aitu atau itu Nothing". Somemembaca dengan cukup baik di sana, tetapi Nonetidak untuk data Option a = Some a | None.
Derek Elkins meninggalkan SE

3
Mereka masih hidup. Anda dapat mengirim email kepada orang-orang seperti Phil Wadler dan Simon Peyton Jones dan bertanya kepada mereka. Atau coba milis Haskell-Cafe.
Derek Elkins meninggalkan SE

Jawaban:


2

Ini telah dijelaskan di masa lalu oleh Simon Peyton Jones. Ini menyiratkan bahwa Tidak ada yang bisa menjadi nilai atau 'hanya' satu nilai jenis lain. Ada 'hanya' satu hal lain yang dapat dikembalikan sebagai nilai, atau tidak sama sekali.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.