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

18
Y-combinator คืออะไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา Y-combinator เป็นแนวคิดวิทยาการคอมพิวเตอร์จาก "หน้าที่" ของสิ่งต่าง ๆ โปรแกรมเมอร์ส่วนใหญ่ไม่ค่อยรู้เรื่อง combinators เลยแม้แต่น้อยหากพวกเขาเคยได้ยินเกี่ยวกับพวกเขา Y-combinator คืออะไร ผู้ประสานงานทำงานอย่างไร สิ่งที่ดีสำหรับ มันมีประโยชน์ในภาษาเชิงโพรซีเดอร์หรือไม่?

4
ลักษณะการทำงานของ foldl กับ foldr กับรายการที่ไม่มีที่สิ้นสุด
รหัสสำหรับฟังก์ชัน myAny ในคำถามนี้ใช้ตัวพับ หยุดการประมวลผลรายการที่ไม่มีที่สิ้นสุดเมื่อเพรดิเคตเป็นที่พอใจ ฉันเขียนใหม่โดยใช้ foldl: myAny :: (a -> Bool) -> [a] -> Bool myAny p list = foldl step False list where step acc item = p item || acc (โปรดสังเกตว่าอาร์กิวเมนต์ของฟังก์ชัน step จะถูกย้อนกลับอย่างถูกต้อง) อย่างไรก็ตามจะไม่หยุดประมวลผลรายการที่ไม่มีที่สิ้นสุดอีกต่อไป ฉันพยายามติดตามการดำเนินการของฟังก์ชันตามคำตอบของ Apocalisp : myAny even [1..] foldl step False [1..] step (foldl step False …

1
คำอธิบายของ Combinators สำหรับคนทำงาน
Combinator คืออะไร ?? เป็น"ฟังก์ชันหรือคำจำกัดความที่ไม่มีตัวแปรอิสระ" (ตามที่กำหนดไว้ใน SO) หรือไม่? หรือเกี่ยวกับสิ่งนี้: ตามที่John Hughes กล่าวในบทความที่รู้จักกันดีของเขาเรื่อง Arrows "Combinator คือฟังก์ชันที่สร้างส่วนย่อยของโปรแกรมจากส่วนย่อยของโปรแกรม"ซึ่งเป็นข้อได้เปรียบเพราะ "... โปรแกรมเมอร์ที่ใช้ combinators สร้างสิ่งที่ต้องการได้มาก โปรแกรมโดยอัตโนมัติแทนที่จะเขียนทุกรายละเอียดด้วยมือ ". เขากล่าวต่อไปmapและfilterเป็นสองตัวอย่างทั่วไปของตัวผสมดังกล่าว ตัวผสมบางตัวที่ตรงกับคำจำกัดความแรก: ส เค ย คนอื่น ๆ จากTo Mock a Mockingbird (ฉันอาจจะผิด - ฉันยังไม่ได้อ่านหนังสือเล่มนี้) ตัวผสมบางตัวที่ตรงกับคำจำกัดความที่สอง: แผนที่ กรอง พับ / ลด (สันนิษฐานว่า) ใด ๆ ของ >> =, เขียน, fmap ????? ฉันไม่สนใจคำจำกัดความแรก …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.