Commit Graph
8 Commits
Author SHA1 Message Date
retoor eadfc8e9cb feat: add await syntax for direct async function calls and new generator/phonebook apps
Add compiler support for calling async functions directly with `await fn(args)` syntax, automatically translating to `await fn.call(args)`. Introduce `create_merge` Makefile target for merging Wren source files. Include new `apps/generator.wren` source code generator using OpenRouter API, `apps/phonebook.wren` CLI phonebook with SQLite backend, and `apps/minitut.md` Wren tutorial reference. Update `example/await_demo.wren` with parameterized async functions, nested awaits, and expression usage. Fix JSON parsing in `example/openrouter_demo.wren` to strip markdown code fences. Document new await syntax in `manual/api/scheduler.html`.
2026-01-25 09:50:20 +00:00
retoor e0cc7791e3 feat: add Makefile targets for docs generation and training data creation
Introduce three new Makefile targets: `create_docs` to merge HTML manual files into a single markdown document using a new wren script, `create_training_data` to generate JSONL training and validation datasets from the manual, and `install` to copy the wren_cli binary to /usr/local/bin.
2026-01-25 05:08:44 +00:00
retoor 46fc2e2470 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.
2026-01-25 03:58:39 +00:00
retoor 74ef5cbc11 feat: add merge_all_wren utility, strutil demo, and 7 new API manual pages
Add WrenFileReader class in apps/merge_all_wren.wren for recursive .wren file discovery and content printing. Introduce example/strutil_demo.wren demonstrating case conversion, hex encoding, SHA256 hashing, string repetition, padding, HTML/JSON escaping, and URL encoding/decoding. Create manual/api pages for argparse, dataset, html, markdown, uuid, wdantic, and web modules. Update manual/api/index.html sidebar and module count from 21 to 28, adding links and cards for the new modules.
2026-01-25 01:47:47 +00:00
retoor 5a4054ec66 feat: add example scripts for argparse, bytes, dataset, html, markdown, uuid, wdantic, and web chat modules
Add comprehensive demo scripts showcasing the usage of multiple Wren modules including argument parsing, byte manipulation, in-memory dataset operations, HTML encoding/slugification, markdown-to-HTML conversion, UUID generation/validation, schema validation with wdantic, and a full web chat application with REST endpoints.
2026-01-24 22:40:22 +00:00
retoor 0a65272f80 feat: add DWN browser automation demo and client library examples
Add three new example files demonstrating DWN window manager API usage:
- dwn_browser_demo.wren: browser automation OCR demo that opens google.nl,
  searches for "ponies", and captures screenshots across multiple scrolls
- dwn_client.wren: reusable DWNClient class wrapping WebSocket commands
  for workspace management, client focus, keyboard input, and window queries
- dwn_demo.wren: comprehensive DWNDemo class with dashboard display,
  workspace switching, client listing, and layout formatting utilities
2026-01-24 20:15:13 +00:00
retoor fdd61cc90c feat: add cJSON and SQLite amalgamation source files under deps/
Add the cJSON library (cJSON.c, cJSON.h) and SQLite amalgamation
(sqlite3.c, sqlite3.h, sqlite3ext.h, shell.c) as vendored dependencies
in the deps/ directory for use by the project build system.
2026-01-24 18:35:43 +00:00
retoor 8f1d13a86b feat: add networking module with TCP Socket/Server and example applications
Implement a full-featured `net` module supporting TCP `Socket` and `Server` classes via libuv, including example applications (chat server, echo server, HTTP client/server, file explorer, system dashboard) and benchmark scripts (fibonacci, n-body). Add GEMINI.md project documentation and Stderr class to io module.
2026-01-24 08:57:59 +00:00