1
มีตัวแทนของ Van Laarhoven ของ `ตัวเลือก '
เลนส์หลายประเภทมีการแสดงของ van Laarhoven ตัวอย่างเช่นLensประเภทLens s t a b สามารถแสดงเป็น: Functor f => (a -> f b) -> s -> f t ในทำนองเดียวกันTraversalสามารถแสดงในลักษณะที่คล้ายกันสลับFunctorข้อ จำกัด สำหรับApplicative: Applicative f => (a -> f b) -> s -> f t กรอบเลนส์หลายประการเช่นMonocleและลูกศรOptionalกำหนดประเภทที่เรียกว่า ในการสืบทอดของ Monocle Optics นั้น Optionalเหมาะสมระหว่างLensและTraversal ตามที่ฉันเข้าใจแล้ว: หาก a Traversalเป็นเช่นLensนั้นอาจมีเป้าหมายเป็นศูนย์ถึงหลายเป้าหมายดังนั้นสิ่งนั้นOptionalก็เหมือนเช่นLensนั้นที่มีเป้าหมายเป็นศูนย์ถึงหนึ่งเป้าหมาย ใน Monocle Optionalหมายถึงคู่ของฟังก์ชั่น: getOrModify …