1
ความไวของความเชี่ยวชาญอัตโนมัติใน GHC
จากเอกสารสำหรับ GHC 7.6: [Y] คุณไม่ต้องการแม้แต่ความเชี่ยวชาญเป็นพิเศษในตอนแรก เมื่อทำการรวบรวมโมดูล M เครื่องมือเพิ่มประสิทธิภาพของ GHC (พร้อม -O) จะพิจารณาฟังก์ชั่นโอเวอร์โหลดระดับสูงสุดแต่ละรายการที่ประกาศใน M โดยอัตโนมัติและเชี่ยวชาญสำหรับประเภทต่าง ๆ ที่เรียกว่าเป็น M เครื่องมือเพิ่มประสิทธิภาพจะพิจารณาฟังก์ชั่นโอเวอร์โหลด และเชี่ยวชาญสำหรับประเภทต่าง ๆ ที่มันถูกเรียกว่าใน M และ ยิ่งไปกว่านั้นเมื่อได้รับ SPECIALIZE pragma สำหรับฟังก์ชั่น f GHC จะสร้างความเชี่ยวชาญเฉพาะสำหรับฟังก์ชั่นประเภทเกินพิกัดใด ๆ ที่เรียกโดย f หากอยู่ในโมดูลเดียวกันกับ SPECAGIZE pragma หรือหากไม่มีการเชื่อมโยง; และอื่น ๆ ต่อเนื่อง ดังนั้น GHC ควรใช้ฟังก์ชันบางส่วน / มากที่สุด / ทั้งหมด (?) ที่ทำเครื่องหมายINLINABLE โดยไม่มี …