هل من الممكن استخدام واجهة برمجة تطبيقات GHC لتعديل البرنامج أثناء تجميعه؟

StackOverflow https://stackoverflow.com/questions/3864766

  •  28-09-2019
  •  | 
  •  

سؤال

أرغب في اختبار التنفيذ تحسين برنامج التحويل البرمجي عن طريق التغلب على عملية تجميع GHC وتغيير تمثيله الأساسي. تتمثل الفكرة في الحصول على شيء مثل:

runGhc (Just libdir) $ do
   ...
   c <- compileToCoreModule targetFile
   compileCoreToObj False (modify c)
   ...

أين modify يأخذ التمثيل الأساسي ويعيد الإصدار المعدل. ومع ذلك ، يفشل هذا الرمز (حتى عندما لا يفعل التعديل شيئًا على الإطلاق) مع الرسالة غير المفيدة للغاية:

expectJust mkStubPaths

أي أفكار حول كيفية جعل هذا العمل ، أو إذا كان من الممكن تنفيذ تحويل التعليمات البرمجية بهذه الطريقة؟

هل كانت مفيدة؟

المحلول

هذا يبدو وكأنه خطأ في compileCoreToObj إلي. لو سمحت أبلغ عن ذلك.

نصائح أخرى

GHC لديها دعم ل الإضافات الآن ، والتي يبدو أنها تفعل بالضبط ما تريد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top