2
ทำให้ขั้นตอนภาษา. NET ของคุณถูกต้องในดีบักเกอร์
ประการแรกฉันต้องขออภัยสำหรับความยาวของคำถามนี้ ผมผู้เขียนของIronScheme เมื่อเร็ว ๆ นี้ฉันทำงานอย่างหนักในการส่งข้อมูลการดีบักที่เหมาะสมเพื่อที่ฉันจะสามารถใช้ดีบักเกอร์. NET 'เนทีฟ' ได้ แม้ว่าสิ่งนี้จะประสบความสำเร็จบางส่วน แต่ฉันก็ประสบปัญหาการงอกของฟัน ปัญหาแรกเกี่ยวข้องกับการก้าว เนื่องจาก Scheme เป็นภาษานิพจน์ทุกอย่างจึงมีแนวโน้มที่จะอยู่ในวงเล็บซึ่งแตกต่างจากภาษา. NET หลักซึ่งดูเหมือนจะเป็นคำสั่ง (หรือบรรทัด) รหัสเดิม (Scheme) มีลักษณะดังนี้: (define (baz x) (cond [(null? x) x] [(pair? x) (car x)] [else (assertion-violation #f "nooo" x)])) ฉันมีจุดประสงค์ในการกำหนดแต่ละนิพจน์ในบรรทัดใหม่ โค้ดที่ปล่อยออกมาจะแปลงเป็น C # (ผ่าน ILSpy) มีลักษณะดังนี้: public static object ::baz(object x) { if …