สัญชาตญาณของประเภทที่เป็นตัวเลือกเช่นเดียวกับ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