คำถามติดแท็ก lenses

1
เลนส์, fclabels, data-accessor - ไลบรารี่ใดสำหรับการเข้าถึงโครงสร้างและการกลายพันธุ์จะดีกว่า
มีไลบรารียอดนิยมอย่างน้อยสามแห่งสำหรับการเข้าถึงและจัดการฟิลด์ของระเบียน สิ่งที่ฉันรู้คือ: data-accessor, fclabels และเลนส์ โดยส่วนตัวแล้วฉันเริ่มด้วย data-accessor และตอนนี้ฉันก็ใช้มันอยู่ อย่างไรก็ตามเมื่อเร็ว ๆ นี้ใน haskell-cafe มีความเห็นของ fclabels เป็นที่เหนือกว่า ดังนั้นฉันสนใจที่จะเปรียบเทียบห้องสมุดทั้งสาม (และอาจมากกว่า)

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 …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.