[Fikir] CLI Komut Seti — Tam Araç Zinciri Vizyonu (Tier 0-3: check/fmt/test/repl/build/pkg/...) #107
Labels
No Label
cli-ux
faz-plani
felsefe-gozden-gecir
ffi-builtin
fikir
gelecek-vizyon
ir-vm
kalite-mimari
moduller-import
test-senaryosu
tip-sistemi
tooling-lsp
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: saqut/saqut-compiler#107
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Giriş (Nedir, Neden Önemli?)
Bu issue'nun ilk hâli sadece 3 ek komut (
check,explain,watch) öneriyordu — ama soru aslında "derleyici tamamen bittiğindesaqutkomutu ne kadar geniş bir araç haline gelmeli?" Bu revizyon, CLI'yı tek seferde değil, katmanlı (tier) bir yol haritası olarak ele alır: hangi komutlar "olmazsa olmaz" (v0/v1), hangileri "dil tamamlandıktan sonra doğal sonraki adım" (v1.5-v2), hangileri "uzak gelecek/ekosistem" (v2+).Ortak ilke: her komut aynı bayrak ailesini paylaşmalı —
--format=json|tree|dot|table(#106),--optimized,--color, tutarlı çıkış kodları (exit code:0=başarı,1=derleme hatası,2=kullanım hatası). Bu tutarlılık olmadan her yeni komut CLI'yı parçalı hissettirir.Tier 0 — Çekirdek / Bugün Var veya Faz 0-4 Kapsamında (olmazsa olmaz)
saqut tokenssaqut ast--format/--optimizedile genişler (#106)saqut symbolssaqut irsaqut runsaqut checkDiagnosticEngineçalıştırır, çalıştırmazTier 1 — Dil/Derleyici Tamamlandığında "Eksikse Eksik Hissedilir"
saqut fmtsaqut testtest{}bloklarını çalıştırır, özet rapor (X geçti, Y kaldı)saqut explain <kod>E003) + örnek doğru/yanlış kod + ilgili ADR linkisaqut replsaqutçağrısı → etkileşimli kabuk (satır satır ifade değerlendirme,printsonucu hemen görünür)saqut lspsaqut watch <file> [--run|--check]Tier 2 — Modül Sistemi + Ekosistem Olgunlaştıkça (v1.5-v2)
saqut build <entry> -o <out>saqut doc <dir>saqut fmt'in yorum-koruma çözümüne (#93) bağımlısaqut bench <file>test{}bloğunu veya fonksiyonu N kez çalıştırıp süre/iterasyon raporu verir — VM'in "incelenebilir" felsefesiyle iyi örtüşür (her adımın zamanlaması)saqut fix <file>--applyile bazı diagnostic'leri (örn. kullanılmayan değişkeni silmeW001, eksikreturnekleme) otomatik düzeltir — #98 "akıllı diagnostic"in eylem hâlisaqut trace/saqut replaysaqut pkg ...pkg add,pkg listTier 3 — Uzak Gelecek / Vitrin
saqut wasm <file> -o <out.wasm>saqut profile <file>Açık Sorular
saqut repl(Tier 1), VM'in adım-adım çalışabilmesini gerektirir — bu, IR/VM tasarımının (#74-78) "her ifade tek başına değerlendirilebilir mi" sorusunu erkene çeker. REPL'siz bir dil 2020'lerde eksik hissedilir; bu yüzden Tier 1'de.saqut build(Tier 2) çıkış formatı ne olacak — kendi bytecode formatı mı, yoksa C transpile (ikinci backend, ADR-006/008) çıktısı + sistem derleyicisiyle native binary mi? İki farklı "build" hedefi olabilir:--target=bytecode(varsayılan, hızlı) ve--target=c(taşınabilir/native, ADR-008).--helpçıktısı ve hata mesajları tutarlı bir üslupla mı yazılacak — bu, #110'daki "Go tarzı modernlik" tavsiyesiyle doğrudan bağlantılı.İmza/Yorum: Önceki hâlinde sadece 3 komut önerilmişti; bu revizyon CLI'yı "derleyici bittiğinde elimizde ne olacak" sorusuna tam bir araç zinciri olarak cevap veriyor. Tier sınırları kesin değil — her faz bittiğinde bu tablo gözden geçirilmeli.
[Fikir] CLI Komut Seti Genişletme Önerileri (`check`, `explain`, `watch`)to [Fikir] CLI Komut Seti — Tam Araç Zinciri Vizyonu (Tier 0-3: check/fmt/test/repl/build/pkg/...)