ในบทความ CACM ที่ผ่านมา [1] ผู้เขียนนำเสนอการดำเนินงานสำหรับฟังก์ชั่นการจัดฉาก พวกเขาใช้คำศัพท์ราวกับว่าเป็นที่รู้จักกันดีและไม่มีการอ้างอิงใด ๆ ที่ดูเหมือนเป็นการแนะนำที่ชัดเจน
พวกเขาให้คำอธิบายสั้น ๆ (เปลี่ยนการเน้นของฉันและหมายเลขอ้างอิงเปลี่ยนเป็น 22 ในต้นฉบับ)
ในบริบทของการสร้างโปรแกรมการเขียนโปรแกรมแบบหลายขั้นตอน (MSP, การแสดงละครสั้น ๆ ) ที่จัดตั้งขึ้นตาม Taha และ Sheard [2] ช่วยให้โปรแกรมเมอร์อย่างชัดเจนการประเมินผลความล่าช้าของการแสดงออกโปรแกรมขั้นตอนภายหลัง (ดังนั้นการแสดงละครการแสดงออก) ขั้นตอนปัจจุบันได้อย่างมีประสิทธิภาพทำหน้าที่เป็นตัวสร้างรหัสที่ประกอบด้วย (และอาจดำเนินการ) โปรแกรมของขั้นตอนต่อไป
อย่างไรก็ตาม Taha และ Sheard เขียน (เน้นที่เหมือง):
โปรแกรมหลายขั้นตอนเป็นโปรแกรมที่เกี่ยวข้องกับการสร้างการรวบรวมและการประมวลผลโค้ดทั้งหมดที่อยู่ในกระบวนการเดียวกัน หลายภาษาแสดงโปรแกรมหลายขั้นตอน การจัดเตรียมและการเขียนโปรแกรมแบบหลายขั้นตอนจึงตอบสนองความต้องการโซลูชันทั่วไปที่ไม่ต้องจ่ายค่าโสหุ้ยการแปลขณะใช้งาน
พวกเขามากกว่าที่จะอ้างถึงการอ้างอิงหลายงานที่ถูกกล่าวหาว่าแสดงให้เห็นว่าการแสดงละครมีประสิทธิภาพซึ่งแสดงให้เห็นว่าแนวคิดนั้นเก่ากว่า พวกเขาไม่ได้ให้การอ้างอิงสำหรับคำนั้น ๆ
ข้อความเหล่านี้ดูเหมือนจะเป็นมุมฉากถ้าไม่ขัดแย้ง; บางทีสิ่งที่ Rompf และ Odersky เขียนเป็นแอพพลิเคชั่นที่ Taha และ Sheard เสนอ แต่อาจเป็นอีกมุมมองหนึ่งในสิ่งเดียวกัน พวกเขาดูเหมือนจะยอมรับว่าประเด็นสำคัญคือโปรแกรม (อีกครั้ง) เขียนบางส่วนของตัวเองที่รันไทม์ แต่ฉันไม่รู้ว่ามันเป็นความสามารถที่จำเป็นและ / หรือเพียงพอ
ดังนั้นการจัดเตรียมตามลำดับคือการตีความการจัดเตรียมในบริบทนี้ คำนี้มาจากไหน
- การแสดงละคร Modular แบบจริงจัง: แนวทางปฏิบัติในการสร้างรหัสรันไทม์และ DSL ที่คอมไพล์โดย T. Rompf และ M. Odersky (2012)
- MetaML และหลายขั้นตอนการเขียนโปรแกรมพร้อมคำอธิบายประกอบอย่างชัดเจนโดย W. Taha และ T. Sheard (2000)
@generated function
s: julia.readthedocs.org/en/latest/manual/metaprogramming/?hl=th