[Fikir] Minimal Stdlib Seti (String/Math/Koleksiyon Yardımcıları) #90
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#90
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?)
ADR-017 "batteries = sınır problemi" diyor ve JSON/XML/HTML gibi parser'ların saQut'un kendisinde yazılabileceğini söylüyor. Ama bunlar için bile bir minimal temel (string birleştirme, karşılaştırma, sayı↔string dönüşümleri, dizi üzerinde gezinme yardımcıları) gerekir. Bu issue, "demo programları yazılabilir olması için gereken en küçük stdlib" kümesini tanımlar.
Gelişme (Olası Yaklaşımlar)
length(s),substring(s, start, end),charAt(s, i),concat(a, b)(veya+operatörü),equals(a, b).toString(n),parseInt(s),parseFloat(s),abs,min,max.length(arr), belkiappend/push(dinamik array tartışmasına bağlı — ayrı issue).callhost) ile saç host C++ standart kütüphanesine (<string>,<cmath>) yaslanır — "asla elle yeniden yazma" (ADR-017, kripto örneğiyle aynı ilke string/math için de geçerli).Açık Sorular
import std) olarak mı paketlenmeli — import sistemi (ayrı issue) ile zamanlama ilişkisi var.İmza/Yorum: "Fibonacci çalıştı" milestone'undan sonraki ikinci somut hedef belki de "stdlib ile küçük bir JSON parser demo'su" olabilir — bu issue o hedefin ön koşullarını listeliyor.