ใช้ GHC 7.10
รุ่นแรกของ GHC ที่มีสิ่งนี้ได้รับการปล่อยตัวเมื่อวันที่27 มีนาคม 2015
เป็นรุ่นล่าสุดและโหมโรงได้รับการเพิ่มใหม่บางอย่างที่มีประโยชน์สำหรับการเล่นกอล์ฟ:
(<$>)และ(<*>)ผู้ประกอบการ
ผู้ประกอบการที่มีประโยชน์เหล่านี้มาจากData.Applicativeทำใน! <$>เป็นเพียงfmapเพื่อให้คุณสามารถแทนที่map f xและfmap f xด้วยf<$>xทุกที่และชนะกลับไบต์ นอกจากนี้ยัง<*>มีประโยชน์ในApplicativeกรณีสำหรับรายการ:
Prelude> (,)<$>[1..2]<*>"abcd"
[(1,'a'),(1,'b'),(1,'c'),(1,'d'),(2,'a'),(2,'b'),(2,'c'),(2,'d')]
(<$)ผู้ประกอบการ
x<$aเทียบเท่ากับfmap (const x) a; xคือแทนที่ทุกองค์ประกอบในภาชนะโดย
นี้มักจะเป็นทางเลือกที่ดีที่จะreplicate: สั้นกว่า4<$[1..n]replicate n 4
ข้อเสนอแบบพับได้ / ผ่านได้
ฟังก์ชั่นต่อไปนี้ถูกยกขึ้นจากการทำงานกับรายการ[a]เป็นFoldableประเภททั่วไปt a:
fold*, null, length, elem, maximum, minimum, sum, product
and, or, any, all, concat, concatMap
ซึ่งหมายความว่าตอนนี้พวกเขายังทำงานMaybe aที่พวกเขาทำงานเหมือน "รายการที่มีองค์ประกอบมากที่สุด" ยกตัวอย่างเช่นหรือnull Nothing == True sum (Just 3) == 3ในทำนองเดียวกันlengthผลตอบแทน 0 สำหรับNothingและ 1 สำหรับJustค่า แทนการเขียนคุณสามารถเขียนx==Just yelem y x
คุณสามารถนำไปใช้กับสิ่งอันดับ (tuples) ซึ่งทำงานเหมือนกับว่าคุณโทรมา\(a, b) -> [b]ก่อน มันเกือบจะไร้ประโยชน์อย่างสมบูรณ์ แต่or :: (a, Bool) -> Boolเป็นหนึ่งในตัวละครที่สั้นกว่าsndและสั้นกว่าelem b(==b).snd
ฟังก์ชั่น Monoid memptyและmappend
ไม่บ่อยนักที่ช่วยชีวิต แต่ถ้าคุณสามารถอนุมานประเภทmemptyเป็นหนึ่งไบต์สั้นกว่าNothingดังนั้นจึงมี