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
+34
View File
@@ -0,0 +1,34 @@
// retoor <retoor@molodetz.nl>
System.print(0.isZero) // expect: true
System.print(1.isZero) // expect: false
System.print((-1).isZero) // expect: false
System.print(5.isPositive) // expect: true
System.print(0.isPositive) // expect: false
System.print((-3).isPositive) // expect: false
System.print((-7).isNegative) // expect: true
System.print(0.isNegative) // expect: false
System.print(3.isNegative) // expect: false
System.print(42.isFinite) // expect: true
System.print(0.isFinite) // expect: true
System.print((1/0).isFinite) // expect: false
System.print((0/0).isFinite) // expect: false
System.print(4.isEven) // expect: true
System.print(3.isEven) // expect: false
System.print(0.isEven) // expect: true
System.print(1.5.isEven) // expect: false
System.print(3.isOdd) // expect: true
System.print(4.isOdd) // expect: false
System.print(0.isOdd) // expect: false
System.print(1.5.isOdd) // expect: false
System.print(5.isBetween(1, 10)) // expect: true
System.print(1.isBetween(1, 10)) // expect: true
System.print(10.isBetween(1, 10)) // expect: true
System.print(0.isBetween(1, 10)) // expect: false
System.print(11.isBetween(1, 10)) // expect: false