Iter 2: verschachteltes if, Strings, JSON-Output, deps
- Codegen: current_block-Tracking ersetzt die Heuristik im phi-Lowering; verschachtelte if-Ausdrücke produzieren jetzt korrekte LLVM IR. examples/max3.ail.json + Test schützt gegen Regression. - Strings: Lit::Str / Type Str / io/print_str Effekt-Op; Strings sind im MVP immutable Konstanten. examples/hello.ail.json als zweiter E2E-Test. - CLI: --json für manifest und builtins; neuer deps-Subcommand listet statische Symbol-Referenzen pro Definition. Effekt-Ops mit Prefix effect: markiert. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -87,6 +87,7 @@ pub enum Term {
|
||||
pub enum Literal {
|
||||
Int { value: i64 },
|
||||
Bool { value: bool },
|
||||
Str { value: String },
|
||||
Unit,
|
||||
}
|
||||
|
||||
@@ -121,6 +122,9 @@ impl Type {
|
||||
pub fn unit() -> Type {
|
||||
Type::Con { name: "Unit".into() }
|
||||
}
|
||||
pub fn str_() -> Type {
|
||||
Type::Con { name: "Str".into() }
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq for Type {
|
||||
|
||||
Reference in New Issue
Block a user