feat: add async/await keywords, Num/String extensions, and Jinja markdown example

Add `async` and `await` token support to the Wren compiler with scheduler resolution logic, extend `Num` with `e` constant, hyperbolic trig, base conversion, and new methods (`isZero`, `gcd`, `lcm`, `digits`, etc.), extend `String` with `lower`, `upper`, `capitalize`, `title`, and regenerate `wren_core.wren.inc`. Include `Makefile` for multi-platform builds, rewrite `README.md` with updated build instructions, and add `example/await_demo.wren` and `example/jinja_markdown.wren` demonstrating new features.
This commit is contained in:
2026-01-25 03:58:39 +00:00
parent 74ef5cbc11
commit 46fc2e2470
139 changed files with 5078 additions and 73 deletions
+51
View File
@@ -0,0 +1,51 @@
// retoor <retoor@molodetz.nl>
System.print("apple" < "banana") // expect: true
System.print("banana" > "apple") // expect: true
System.print("abc" <= "abc") // expect: true
System.print("abc" >= "abc") // expect: true
System.print("abc" < "abd") // expect: true
System.print("abd" > "abc") // expect: true
System.print("abd" < "abc") // expect: false
System.print("abc" > "abd") // expect: false
System.print("abc" < "abcd") // expect: true
System.print("abcd" > "abc") // expect: true
System.print("abcd" < "abc") // expect: false
System.print("abc" > "abcd") // expect: false
System.print("a" <= "b") // expect: true
System.print("b" >= "a") // expect: true
System.print("b" <= "a") // expect: false
System.print("a" >= "b") // expect: false
System.print("b" < "a") // expect: false
System.print("a" > "b") // expect: false
System.print("" < "a") // expect: true
System.print("a" > "") // expect: true
System.print("" <= "") // expect: true
System.print("" >= "") // expect: true
System.print("" < "") // expect: false
System.print("" > "") // expect: false
System.print("a" < "a") // expect: false
System.print("a" > "a") // expect: false
System.print("a" <= "a") // expect: true
System.print("a" >= "a") // expect: true
System.print("A" < "a") // expect: true
System.print("a" > "A") // expect: true
System.print("Z" < "a") // expect: true
System.print("a" > "Z") // expect: true
System.print("abc" < "abc") // expect: false
System.print("abc" > "abc") // expect: false
System.print("abc" <= "abc") // expect: true
System.print("abc" >= "abc") // expect: true
System.print("xyz" < "xya") // expect: false
System.print("xyz" > "xya") // expect: true
System.print("xyz" <= "xya") // expect: false
System.print("xyz" >= "xya") // expect: true