لغة Elixir في Maguyva: رسوم بيانية للشيفرة في تطبيقات Phoenix وOTP
تعيش بنية Elixir داخل وحدات الماكرو. والرسم البياني يقرؤها بوصفها بنية.
الامتدادات
.ex, .exs
يدعم Maguyva لغة Haskell بشجرة AST والرموز والرسم البياني، ليتمكن وكلاء الذكاء الاصطناعي من تتبّع الدوال ونُسخ فئات الأنواع ومُنشِئات البيانات عبر الوحدات.
تستدعي Haskell الدوال دون أقواس، وتركّبها بالعوامل، وتوزّع الاستدعاءات عبر فئات الأنواع. render user استدعاء واحد، وf . g <$> xs يحوي عدة استدعاءات، ومعنى show هو ما تقوله نسخة ذلك النوع. يجد البحث النصي الأسماء، لا النُسخ التي خلفها.
يسجّل Maguyva النُسخ والمُنشِئات بوصفها علاقات، فيرى الوكيل أي الأنواع تنفّذ فئة وأين تُبنى القيمة.
يربط Maguyva ملفات .hs و.lhs بلغة Haskell. تُستخرج الدوال والارتباطات بوصفها كيانات قابلة للاستدعاء، وتُستخرج فئات الأنواع وأنواع data وnewtype بوصفها أنواعًا. وتُتعرَّف الاستدعاءات في التطبيق المفصول بمسافات وعبر العوامل الوسيطة، وتوحّد عمليات الاستيراد عبارات qualified وhiding وas.
تصبح فئات الأنواع والمُنشِئات علاقات في الرسم البياني:
instance Eq Point أن Point ينفّذ Eq.Point 1 2، إنشاءً لنسخة.error وundefined وthrow رمي الاستثناءات، وتسجّل المعالجات مثل catch التقاطها.ولأن تصريحات النُسخ يمكنها تعريف أسماء مثل show أو return، لا يُفترض أن التعريف الموجود في الملف نفسه هو هدف الاستدعاء المجرّد الذي يحمل ذلك الاسم.
parseConfig، ومن أي وحدات؟” (find_symbol ثم dependency_search في الاتجاه الوارد)ToJSON؟” (dependency_search)get_task_context)map وfoldr وfmap وpure و>>=، ووحدات مثل Data.List وControl.Monad. استخدم text_pattern_search لها.functions في structural_search إلا تعابير lambda، ولا يختار الإعدادان methods وvariables شيئًا. استخدم find_symbol للدوال المسمّاة..lhs الأدبية كاملة بقواعد Haskell النحوية، فتوقّع نتائج جزئية لها.اربط مستودعًا عبر دليل البدء السريع، ثم راجع مصفوفة الدعم في صفحة التوافق. ولقواعد الشيفرة الوظيفية الأخرى، اقرأ دليل لغة Elixir.
الأنسب لـ
سير عمل الوكلاء
تفاصيل المحرك
نقاط دخول مفيدة عبر MCP
استخدمه لدالة أو نوع عندما تحتاج إلى التعريف والمراجع؛ فالإعدادات البنيوية المسبقة لا تُرجع إلا تعابير lambda.
استخدم الاجتياز الوارد على فئة أنواع لرؤية الأنواع التي لها نُسخ منها.
استخدمه لمطالبات مثل "تتبّع كيف يُفكّ ترميز الطلب ويُتحقق منه".
أدلة ذات صلة
تعيش بنية Elixir داخل وحدات الماكرو. والرسم البياني يقرؤها بوصفها بنية.
الامتدادات
.ex, .exs
ذات صلة عندما تريد مساعدة بالذكاء الاصطناعي في Rust دون فقدان الضوابط البنيوية التي تجعل استخدام Rust يستحق العناء.
الامتدادات
.rs