ابدأ من C
ميم تُترجم مثل C إلى شيفرة آلة (عبر LLVM)، وذاكرتها يدوية. لكنها تفحص الحساب والفهرسة دائماً، وتكتب الأخطاء قيماً في التوقيع.
ما يقابل ماذا
رابط إلى قسم «ما يقابل ماذا»| في C | في ميم |
|---|---|
int64_t، double، bool |
عدد (64 بت بإشارة)، كسر، منطقي |
char * منتهٍ بصفر |
نص: UTF-8 بطوله، وطول يعدّ الأحرف لا البايتات |
struct |
هيكل: يُمرَّر بالقيمة |
| مصفوفة ثابتة / مصفوفة تنمو | مصفوفة[نوع, حجم] (تُنسخ عند الإسناد) / قائمة[نوع] |
malloc / free |
الحجز من مخصص (ضمني في الغالب) / حرر(س) |
T * وNULL |
مؤشر[نوع] بـ جديد ومحتوى، ولاشيء؛ لا حساب عناوين |
void * من مكتبة |
مؤشر_خام، ولا يُقرأ إلا داخل خطر |
رمز إرجاع وerrno |
!نوع وخطأ.اسم، ومعالجته إلزامية |
goto cleanup |
خاتمه وخاتمه_عند_خطأ |
#include |
استورد |
printf |
اطبع بالفواصل، ورياضيات.نسق ونسق_عدد للتنسيق |
| تجاوز غير معرَّف | خطأ تشغيل برمز 3 (و--wrap-overflow للالتفاف) |
| استدعاء مكتبة C | خارجي بأنواع C صريحة |
خارجي "m" داله جذر_c(س كسر) كسر باسم "sqrt"خارجي داله طول_c(ن نص) حجم باسم "strlen"اطبع(جذر_c(2.0))اطبع("ميم بالبايتات: ", طول_c("ميم"), "، وبالأحرف: ", طول("ميم"))كبير = 9223372036854775807اطبع(كبير)اطبع(كبير + 1)رمز الخروج: 3
في فهرس الأخطاء: E0341
ما سيفاجئك (من تجربة كتابة برامج حقيقية بـ 0.9.1، ومُراجَع على 0.10.0)
رابط إلى قسم «ما سيفاجئك (من تجربة كتابة برامج حقيقية بـ 0.9.1، ومُراجَع على 0.10.0)»- وضعان كما في Zig:
meem برنامج.ميشغّله بكاشف ذاكرة يكشف الاستعمال بعد التحرير والتحرير المزدوج بسطريهما، وmeem buildيبني بلا كاشف، وفيه الاستعمال بعد التحرير عبر اسم آخر سلوك غير معرَّف كما في C. ابنِ بـ--debugلتبقي الكاشف. حررلا يتبع: تحرير قائمة قوائم يترك الداخلية، كـfreeعلى مصفوفة مؤشرات.- لا بايتات:
طولوجزءبالأحرف، ولا نوع «بايتات». - لا أنواع معمّمة: الكومة تُكتب لنوع واحد.
هيكل_سييُعرَّف قبل التصريح الذي يستعمله، والخطأ الأول قد تتبعه رسائل مضلِّلة.- الخطأ اسم بلا بيانات، ولا تتبّع لمساره.
- لا
printfولا دوال بعدد متغير من الوسائط، ولا هياكل بالقيمة إلى C. - البناء الساكن (musl) أبطأ من
--dynamicفي البرامج الكثيرة الحجز.
وما سيعجبك
رابط إلى قسم «وما سيعجبك»- الحدود والتجاوز مفحوصة افتراضياً، برسالة بالسطر والمعرّف.
خاتمهوخاتمه_عند_خطأبترتيب صحيح عبر الدوال.- ملف تنفيذي ساكن بعشرات الكيلوبايتات، يُبنى في نحو ثانية.
- أداء الشيفرة الخوارزمية بمستوى C (دايكسترا وشجرة بحث).
خارجيسطر لكل دالة، والرمز يُفحص عند الترجمة.