สัญชาตญาณของประเภทที่เป็นตัวเลือกเช่นเดียวกับMaybe Int
ที่ไม่มี Int (เช่นนั้นNothing
มี) หรือว่ามีInt บางตัว มีบางสิ่งที่นั่น
มันทำให้ฉันรู้สึกว่าเราเรียก constructor ชนิดสำหรับ "เชิงลบ" กรณีNothing
เพราะมันหมายความว่าที่ - ว่าไม่มีInt
มี แต่ใช้คำว่าทำไมเพียงแค่ในกรณีที่เน้นอยู่ในสิ่งที่เป็นจริงมี ?
สำหรับฉันคำว่า "เพิ่ง" มีความหมายแฝงอยู่ว่าสิ่งที่อธิบายนั้นน้อยกว่าทางเลือก ตรงกันข้ามกับสิ่งที่อยู่ที่นั่นจริง ๆ ; ตัวอย่างเช่น,
ตอบ: คุณกำลังทำอะไรคืนนี้
B: ไม่; ฉันแค่จะอยู่ในและดูทีวี
ตอบ: คุณตรวจสอบเสียงผีที่น่าขนลุกรอบ ๆ บ้านของคุณหรือไม่?
B: ใช่ปรากฎว่ามันเป็นแค่นกฮูก
เห็นได้ชัดว่าฉันขาดสัญชาตญาณสิ่งที่ตัวเลือกการตั้งชื่อนี้มีพื้นฐานมาจาก มันคืออะไร? เพราะให้ฉันคำเพียงหมายถึงตรงข้ามของวิธีการที่จะนำมาใช้ในที่Maybe
ประเภท
Maybe
เป็น monad ที่พวกเขามีแนวโน้มที่จะใช้return
และอาจจะสิ่งที่ชอบแทนmzero
Nothing
เมื่อJust
ใช้โดยตรงมักMaybe
จะไม่ถูกใช้ในรูปแบบ monadic ณ จุดนั้น
Option
ประเภท นักออกแบบของ Haskell อาจจะรู้สึกว่าfoo x = Just x
"อ่าน" foo x = Some x
ดีกว่า ในทำนองเดียวกันความหมายdata Maybe a = Just a | Nothing
อ่านค่อนข้างดีว่า " Maybe a
เป็นอย่างใดอย่างหนึ่งJust a
หรือเป็นNothing
" Some
อ่านได้ดีพอสมควรมี แต่ไม่ได้สำหรับNone
data Option a = Some a | None