🤔 Neden MELP?
Her dil bir sorunu çözer. MELP'in çözdüğü sorun: karmaşıklık olmadan güvenlik.
1. Scope Modeli — GC Yok, Borrow Checker Yok, Memory Safe
MELP'te her değişken bir scope içinde yaşar. Scope kapandığında bellek otomatik temizlenir.
scope hesap
numeric bakiye = 1000
scope cagir
numeric function para_cek(numeric m)
if m > bakiye then return 0 end if
bakiye = bakiye - m
return 1
end function
return para_cek(200)
end cagir
end hesap
-- bakiye burada otomatik temizlendi
Rust: borrow checker ile ödünç verme kuralları.
Go: GC ile bellek yönetimi, pause süreleri.
MELP: Scope = yaşam döngüsü. Ne GC, ne borrow checker.
2. OK/STO/SAO — Plug-and-Play Optimizasyon
| Katman | Açılım | Görev | Durum |
|---|---|---|---|
| OK | Optimizasyon Katmanı | Kozmetik hızlandırıcı | İleride ON yapılabilir |
| STO | Statik Tip Optimizasyonu | Tip + Depolama analizi | ✅ Aktif |
| SAO | Statik Etki Analizi | Yan etki + sentinel | OFF (plug-and-play) |
SAO ve sentinel altyapısı plug-and-play modunda: isteğe bağlı açılabilir, kapalıyken sıfır ek yük. BORU-5'te kapalı — kod eksiltip hızlandık.
3. Self-Hosting — Derleyici MELP'te Yazıldı
# MELP derleyicisi kendini derleyebilir:
melp_compiler < main.mlp > stage.ll
clang stage.ll -o new_compiler
./new_compiler < main.mlp > stage2.ll
diff stage.ll stage2.ll # → boş (self-hosting kanıtı!)
Bu, dilin olgunluğunun ve güvenilirliğinin kanıtıdır.
4. Çok Dilli Keyword — Kod Her Dilde Okunur
| TR | EN | RU | AR |
|---|---|---|---|
fonksiyon | function | функция | دالة |
eğer | if | если | اذا |
döngü | loop | цикл | حلقة |
Aynı kod, 6 dilde okunabilir. Ana dili İngilizce olmayan geliştiriciler için.
5. OOP'suz Nesne — Kalıtım Yok, Bileşim Var
struct Point
numeric x; numeric y
end struct
-- point.move(1, 2) → move_point(point, 1, 2)
-- MELP: bileşim > kalıtım
Sınıf, kalıtım, virtual method yok. Struct + fonksiyon. Daha basit, daha hızlı.
6. Debug Block — Tasarım Zamanı IDE İletişimi
debug
external ide
ide_inspect(members_count)
if members_count > 10000 then
ide_warning("Kritik seviye: " & str(members_count))
ide_highlight(1442)
end if
end debug
Release'de sıfır maliyetle strip edilir. Debug'da IDE ile konuşur.
7. Performans — C'den Hızlı Olduğu Yerler Var
| Test | MELP | C (clang -O2) | Oran |
|---|---|---|---|
| fib(40) | 233ms | 238ms | 0.98x (MELP hızlı!) |
| primes(10000) | 3ms | 3ms | 1.00x (başa baş) |
| loop 100M | 2ms* | 134ms | LLVM optimize |
* LLVM induction variable elimination — döngü compile-time çözülüyor.
MELP vs Diğer Diller
| Özellik | MELP | Rust | Go | Zig |
|---|---|---|---|---|
| Bellek modeli | Scope | Borrow checker | GC | Manuel |
| Self-hosting | ✅ | ✅ | ✅ | ✅ |
| Çok dilli | ✅ 6 dil | ❌ | ❌ | ❌ |
| Debug block | ✅ | ❌ | ❌ | ❌ |
| OK/STO/SAO | ✅ plug-and-play | MIR/HIR | ❌ | ❌ |
| OOP'suz | ✅ | Traits | Interface | ❌ |
| Öğrenme eğrisi | Düşük | Yüksek | Orta | Orta |
MELP — Karmaşıklık olmadan güvenlik. 🚀