ฉันจะเพิ่มสวิตช์พิเศษใน Leksah ได้อย่างไร

ฉันต้องการเพิ่มสวิตช์พิเศษ "-XDeriveDataTypeable" ให้กับคอมไพเลอร์

ไม่อย่างนั้นฉันก็อยากจะคอมไพล์ Typeable ได้

ในเล็กซ่าห์ทำได้ที่ไหนคะ?


person Aftershock    schedule 29.04.2014    source แหล่งที่มา
comment
ถ้า -1 ควรจะเป็นผลป้อนกลับ | ไม่รู้ว่ามันเกี่ยวกับอะไร.. มันค่อนข้างไร้ประโยชน์ในตัวเอง   -  person Aftershock    schedule 29.04.2014
comment
ฉันไม่ได้ใช้ Leksah แต่ฉันคาดหวังว่า pragma จะได้ผลใช่ไหม เพิ่ม {-# LANGUAGE DeriveDataTypeable #-} ในบรรทัดแรกของไฟล์ .hs ของคุณไม่ได้ผลใช่ไหม   -  person iamnat    schedule 29.04.2014
comment
ฉันไม่เห็นด้วยกับการโหวตลง ฉันเดาว่าคนที่ลงคะแนนให้ปิดไม่รู้ว่า -X บางสิ่งบางอย่างหรืออื่นๆ คือข้อมูลที่เพียงพอในการวินิจฉัยปัญหา เพราะพวกเขาไม่รู้ว่า -X หมายถึงอะไร ฉันไม่เข้าใจแบบคลาสสิก ดังนั้นนี่เป็นข้อผิดพลาดเชิงตรรกะที่ไม่ชัดเจน   -  person AndrewC    schedule 29.04.2014


คำตอบ (1)


โดยทั่วไป

ต่อไปนี้เป็นวิธีแก้ไข/โซลูชันที่ไม่เชื่อเรื่องพระเจ้าสำหรับปัญหาของคุณ:

สำหรับส่วนขยายภาษา คุณสามารถเพิ่มสิ่งนี้ที่ด้านบนของแหล่งที่มาเป็น pragma คอมไพเลอร์ ซึ่งฉันชอบอยู่แล้ว:

{-# LANGUAGE DeriveDataTypeable #-}

แทนที่จะเป็น -XDeriveDataTypeable บนบรรทัดคำสั่ง

คุณสามารถส่งตัวเลือกบรรทัดคำสั่งอื่นไปยัง GHC ได้ดังนี้:

{-# OPTIONS_GHC -fno-warn-name-shadowing #-}

ในเล็กซ่า

Leksah ใช้ cabal ในการกำหนดค่าบิลด์ ดังนั้นจึงไม่มีเวทมนตร์พิเศษของ Leksah ซึ่งเป็นมาตรฐานทั้งหมด แต่คุณสามารถใช้ตัวแก้ไขแพ็คเกจเป็น GUI เพื่อแก้ไขไฟล์ cabal

2/3 ของทางลงคือส่วน Extensions ซึ่งคุณสามารถระบุส่วนขยายภาษาที่คุณต้องการได้

โปรแกรมแก้ไขแพ็คเกจ

person AndrewC    schedule 29.04.2014
comment
ดังนั้นจึงไม่มีที่ใน GUI ที่จะเพิ่มแฟล็กพิเศษใช่ไหม - person Aftershock; 29.04.2014
comment
@อาฟเตอร์ช็อก ใช่แล้ว ในตัวแก้ไขแพ็คเกจ (ภาพหน้าจอด้านบน) คลิกส่วนขยายและเพิ่มส่วนขยาย DeriveDataTypeable ที่นั่น ฉันไม่แน่ใจว่าคุณต้องใส่ -XDeriveDataTypeable หรือแค่ DeriveDataTypeable ลองทั้งสองอย่าง สำหรับแฟล็กคอมไพเลอร์อื่นๆ ให้ไปที่แฟล็กแพ็คเกจ ภาพหน้าจอที่นี่ - ตัวอย่างแสดง -prof และ -auto-all - person AndrewC; 29.04.2014
comment
@Aftershock ฉันยังคงชอบใส่มันลงในซอร์สโค้ดเพราะมันมีความสมบูรณ์ในตัวเองมากกว่าและคนอื่นๆ ที่มีไฟล์ .hs ของคุณจะได้รับแฟล็กคอมไพเลอร์ที่ถูกต้องฟรี - person AndrewC; 29.04.2014
comment
นั่นเป็นสิ่งที่ดีที่ฉันถามเพราะฉันคิดว่ามันคงจะดีถ้ารู้ว่ามันทำงานอย่างไร - person Aftershock; 29.04.2014