برنامه نویسی
MiniLang – انجمن DEV

لینک Github
جانشین نوع C که مستقیماً در پلتفرمهای مختلف کامپایل میشود.
انگیزه
این زبان برای نزدیک طراحی شده است ویژگی های ج را مطابقت دهید همراه با برخی سربار صفر بهبود کیفیت زندگی که در یک زبان مدرن، با حفظ آن، مییابید سهولت یادگیری زبان (در حدود 10 دقیقه یا کمتر از طریق QUICKSTART.md). علاوه بر این، نوع سیستم است سختگیرتر از ج، که از اشکالات (نقص) رایج زبان c جلوگیری می کند. ایمنی حافظه همچنین یک نگرانی اولیه است. در مورد سازگاری c، زبان این است سازگاری دوطرفه با c (c را می توان در ML استفاده کرد، ML را می توان در c استفاده کرد).
ویژگی های خاص زبان
- ساخته شده است
- بولین ها
- منابع
- اعداد صحیح با طول ثابت
- نشانگرهای با طول ثابت
- استنتاج تایپ کنید
- Heredocs
- نام مستعار
- به تعویق انداختن
- واردات
- فضاهای نام
- ماکروهای بهداشتی
- اضافه بار عملکرد
- نحو فراخوانی تابع یکنواخت (UFCS)
- عبارات چند خطی
امکانات
- نوین
- تالیف شد
- به شدت تایپ شده است
- اضافه بار عملکرد
- سیستم ماکرو بهداشتی
- C سازگاری دو طرفه
- نحو فراخوانی تابع یکنواخت (UFCS)
- با قابلیت یادگیری و استفاده آسان
- منحنی یادگیری مسطح
نمونه ها
سلام دنیا
# From samples/helloworld/src/main.ml:
import "stdlib/print"
fun main: int32
print "Hello World!"
ret 0
end
رشته (UFCS)
# From samples/str-ufcs/src/main.ml:
import "stdlib/print"
import "stdlib/string"
fun main: int32
# Is equivalent to:
# print(concat(str("Hello "), str("World!")))
(str("Hello ").
concat(str("World!")).
print)
end
FizzBuzz
# From samples/fizzbuzz/src/main.ml:
import "stdlib/print"
fun fizz_buzz(num: int64): void
let idx = 1
while idx