BERK — bir sistem dili, güçlü ve hızlı
Gerçek çift dilli (Türkçe/İngilizce) sözdizimi. 18 MCU ailesi ile masaüstü ve WebAssembly'de C/C++ performansı. Determinizm bildirilen, makineyle denetlenen bir etkidir — kullanıcı kodunda unsafe/FFI yok; standart kütüphane sınırı ölçülmüş bir güven tabanıdır (1.689 yerleşik, hepsi sözleşmeli). Sertifikasyon kanıtı üretmek için tasarlandı; henüz nitelendirilmedi.
16 etki, makineyle denetlenir
Tek bir IO işareti değil, on altı etki: saf, deterministik,
sınırlı/WCET, tahsis_yok, panik_yok, özyineleme_yok,
sabit_zaman, sertifikalanabilir… Determinizm bir konvansiyon değil,
bildirilen ve makinenin denetlediği bir garantidir. sertifikalanabilir bir sertifika iddiası değildir;
derleyicinin denetlediği bir profil kümesidir: geri_düşüş_güvenli + deterministik (→ sınırlı) + panik_yok.
- ✓Geçişli saflık — saf-olmayan bir fonksiyonu çağıran saf fonksiyon garantisini yitirir; çağrı grafiği üzerinde sabit-nokta analiziyle hesaplanır
- ✓sınırlı — üst sınırı kanıtlanamayan iken döngüsü yasak → WCET kanıtlanabilir kalır
- ✓Sözleşme, monad değil — sabit-argümanla ihlal edilen önkoşul derleme hatası; çalışma-anında panik değil, deterministik izlenebilir tuzak
- ✓berk kontrol — aynı kapı CI için; ihlal edilen kontrat programı çalışmadan durdurur
// aynı program, iki dilde fonksiyon ana() -> sayı yap // TR yazdır("Merhaba") son function main() -> int do // EN print("Hello") end // etkiler fonksiyonun önünde bildirilir saf fonksiyon topla(v: liste) -> sayı yap döndür indirge(v) // bit-birebir son // tek API — Cortex-M, RISC-V, ESP32… 18 MCU ailesi, aynı kod kullan embedded::bal::gpio gpio_yaz(PA5, YÜKSEK)
// Donanım birinci-sınıf dil kavramı — kullanıcı kodunda unsafe YOK, FFI YOK yazmaç GPIOA_MODER: u32 @ 0x4002_0000 alan MODER5: GPIOA_MODER[10..12] // tipli bit-alanı MODER5 <- 0b01 // atomik, volatile, sınır-denetimli kesme TIM2_IRQ önceliği 3 yap // vektör tablosu + öncelik dilde son
Donanım, birinci-sınıf ve güvenli bir dil kavramı
C register-şeffaf ama güvensiz; Rust güvenli ama unsafe + crate gerektirir. BERK ikisini birleştirir: kullanıcı kodunda unsafe yok, FFI yok — saf-BERK bare-metal; yerleşik sınır envanterli ve sözleşmeli (1.689/1.689).
- ✓Tipli yazmaçlar + bit-alanları — erişim tip tarafından garantili-volatile, sınır-denetimli
- ✓Kesmeler dil yapısı — vektör tablosu ve öncelik dilde
- ✓18 MCU ailesi, tek güvenli HAL — Cortex-M, RISC-V, ESP32…; ayrıca masaüstü ve WebAssembly. Kapsam: 18 ailenin HAL tanımları stdlib'dedir ve BAL saf-mantık testleriyle (ayrıca 4 platform-bağlama testi) doğrulanır — bu ailelerde kartta koşu yok. Kartta ölçülen tek hedef STM32F746G-DISCO'dur (Cortex-M7, ayrı çıplak-metal paketlerle)
- ✓Go-sadeliğinde bellek — değer semantiği + bölge/arena; tahsis_yok ve panik_yok derleyici-zorlamalı, bölge-kaçışı derleme-zamanında yakalanır
İmzalı, doğrulanabilir bir ekosistem
12 lisanslı sektör paketi
Sertifikasyon-kritik kurumlar için sektör paketleri: aviyonik, ADAS, demiryolu, tıbbi cihaz, uzay, telekom, robotik, MILS bölümleme, DDS, protokoller, radar ve spectral_plus. Genel kayıtta değildir; lisansla elden teslim edilir. Her sürüm SHA256 + ed25519 imzalıdır ve alıcı makinede bpm kurulumdan önce ikisini de doğrular — güven sunucuda değil imzadadır.
78 genel paket, 11 katman
packages.berk-systems.com genel kaydında 78 imzalı paket (305 yayımlanmış sürüm): alan kütüphaneleri (ai, bio, finance, ros) · bilimsel/sayısal (exact, linalg, optim, stats …) · metin ve desen · sivil DSP ve ses (spectral, audio) · veri biçimleri · grafik, görüntü ve geometri (cad, cad3d, mesh, vision …) · fizik ve mühendislik · kriptografi ve post-kuantum (pqc) · ağ, web ve veri tabanı · gömülü, endüstriyel ve RTOS · sistem araçları ve GUI. Her paket iki dilli eğitim belgesiyle gelir.
Araç zinciri
Yorumlayıcı ve LLVM/AOT derleyici, REPL, LSP dil sunucusu, DAP hata ayıklayıcı (kesme noktası, adım adım yürütme; VS Code'da "BERK Debug"), linter, biçimlendirici, bpm paket yöneticisi, berk kontrol CI kapısı, berkdoc, Visual Studio Marketplace'te yayımlanmış VS Code eklentisi (berk-lang 1.0.0) ve tarayıcıda çalışan playground.
Neden "BERK"?
Öztürkçe'de berk: güçlü, muhkem, sağlam — ve şimşek. Güvenli ve doğru bir derleyicinin dayanıklılığını, LLVM-hızında C++-seviyesi yürütmeyle birleştirir. Uluslararası açılımı: Beyond-Efficient Runtime Kernel.
İddia değil, envanter: güven tabanı sayılarla
10 Kasım 2026 ölçümü (depodaki scripts/tcb_envanter.py, tam test paketi ve ölçüt kapıları). BERK kodunuzda
unsafe yoktur; dilin standart kütüphane sınırı ise envanterli ve tamamı sözleşmeli bir güven tabanıdır.
- ✓Tanımlı davranış — dizi sınır denetimi,
boşbirim tipi, taşma politikası ve deterministik yürütücü yorumlayıcıda, yerel AOT'ta ve LLVM wasm32'de aynı (Faz A parite kapısı 82/82; wasm32'de 222 program aynı, 20'si bilerek kapsam dışı; üç motorda N koşuda 204 program bit-özdeş) - ✓Güven tabanı — 1.689 yerleşik (native) bildirim, 1.689 sözleşmeli, 0 sözleşmesiz; FFI kayıt defteri 3.055 → 515 (yalnız bildirimli yüzey çağrılabilir)
- ✓Tek çekirdek matematik — nitelikli ve çıplak
sin/cos/tan/pow/exp/logaynı taşınabilir çekirdekten, 1.999 örnekte bit-özdeş (eski: libm sapması); erişilebilir yollarda platform libm'i yok (statik kapı); ondalıkmin/maxIEEE 754-2019 maximumNumber/minimumNumber, iki motorda aynı - ✓72 saatlik fuzz — 4. koşu (6–9 Kasım 2026, tek ikili, yedi aşama, 72 saat kesintisiz): sözcük çözümleyici, ayrıştırıcı, tip denetimi ve WASM üreteci 0 kusur; yorumlayıcı, IR ve fark aşamalarında bulunan 5 kök neden kırmızı→yeşil ölçütle düzeltildi; 6 saatlik doğrulama koşusunda 39.700 program üç motorda 0 fark
- ✓Sessiz yanlış sınıfı kapandı — sessiz 0 taslağı, sahte başarı, yanlış modüle bağlanma, panik yolları → ya gerçek gövde ya açık hata (HTTP durumu denetlenir, SQL parametre sayısı denetlenir)
- ✓İddia etmediklerimiz — 792 hedef-donanım bildirimi için hiçbir hedefte sembol bağlaması yok; “72 saat sıfır kusur” ölçütü henüz sağlanmadı (düzeltilmiş ikiliyle 5. koşu bekleniyor); ASan/UBSan ilk ölçümü (209 program, Linux) 0 bulgu verdi ama sızıntılar ayrı ve açık; bağımsız WASM arka ucu yalnız gömülü alt kümeyi üretir (dilin tamamı LLVM wasm32 yoluyla); resmî nitelendirme yoktur