@shd101wyy/yo 0.0.28 → 0.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +20 -1
  2. package/out/cjs/index.cjs +7554 -7826
  3. package/out/cjs/yo-cli.cjs +7604 -7876
  4. package/out/esm/index.mjs +7453 -7725
  5. package/out/types/src/codegen/async/runtime-core.d.ts +2 -1
  6. package/out/types/src/codegen/async/runtime-io-common.d.ts +3 -1
  7. package/out/types/src/codegen/async/runtime-io-linux.d.ts +1 -0
  8. package/out/types/src/codegen/async/runtime-io-macos.d.ts +1 -0
  9. package/out/types/src/codegen/async/runtime-io-windows.d.ts +1 -0
  10. package/out/types/src/codegen/async/runtime.d.ts +2 -1
  11. package/out/types/src/codegen/async/state-machine.d.ts +18 -2
  12. package/out/types/src/codegen/functions/context.d.ts +5 -0
  13. package/out/types/src/codegen/parallelism/runtime.d.ts +2 -1
  14. package/out/types/src/codegen/utils/index.d.ts +2 -0
  15. package/out/types/src/target.d.ts +1 -0
  16. package/out/types/tsconfig.tsbuildinfo +1 -1
  17. package/package.json +1 -1
  18. package/std/cli/arg_parser.yo +365 -0
  19. package/std/collections/array_list.yo +108 -0
  20. package/std/collections/hash_map.yo +1 -1
  21. package/std/collections/hash_set.yo +7 -7
  22. package/std/collections/linked_list.yo +1 -1
  23. package/std/encoding/base64.yo +73 -0
  24. package/std/fs/file.yo +113 -6
  25. package/std/fs/types.yo +21 -0
  26. package/std/glob/glob.yo +206 -0
  27. package/std/http/http.yo +196 -0
  28. package/std/io/reader.yo +17 -0
  29. package/std/io/writer.yo +19 -0
  30. package/std/net/tcp.yo +1 -1
  31. package/std/prelude.yo +69 -0
  32. package/std/regex/compiler.yo +355 -0
  33. package/std/regex/flags.yo +104 -0
  34. package/std/regex/match.yo +83 -0
  35. package/std/regex/node.yo +283 -0
  36. package/std/regex/parser.yo +847 -0
  37. package/std/regex/regex.yo +714 -0
  38. package/std/regex/unicode.yo +365 -0
  39. package/std/regex/vm.yo +737 -0
  40. package/std/string/string.yo +398 -4
  41. package/std/sync/cond.yo +19 -19
  42. package/std/sync/mutex.yo +16 -16
  43. package/std/sys/bufio/buf_reader.yo +2 -2
  44. package/std/sys/future.yo +3 -3
  45. package/std/time/sleep.yo +18 -0
  46. package/std/toml/toml.yo +179 -0
  47. package/std/testing/assert.yo +0 -173
  48. package/std/time.yo +0 -13
package/README.md CHANGED
@@ -17,7 +17,7 @@ Below is a non-exhaustive list of features that Yo supports:
17
17
 
18
18
  - First-class types.
19
19
  - Compile-time evaluation.
20
- - Homoiconicity and metaprogramming (**Yo** syntax is inspired by the **Lisp** S expression).
20
+ - Homoiconicity and metaprogramming (**Yo** syntax is inspired by the **Lisp** S expression. Simple syntax rule, Human & AI friendly).
21
21
  - Closure.
22
22
  - [Algebraic Effects and Handlers](./docs/en-US/ALGEBRAIC_EFFECTS.md) (One-shot delimited continuation. Tail-Resumptive. Implicit parameters via `using`/`given`, effect handlers with `return`/`escape`, by [Evidence Passing](https://xnning.github.io/papers/multip.pdf)).
23
23
  - [Async/await](./docs/en-US/ASYNC_AWAIT.md) (Builtin `IO` effect. Stackless coroutine & Cooperative multi-tasking. Lazy Futures, multi-await, single-threaded concurrency via state machine transformation).
@@ -109,6 +109,25 @@ $ sudo dnf install liburing-devel
109
109
  $ sudo pacman -S liburing
110
110
  ```
111
111
 
112
+ ## Standard Library
113
+
114
+ Yo ships with a comprehensive standard library covering strings, collections, file I/O, networking, encoding, regex, crypto, and more. For the full module reference, see **[Standard Library Modules](./docs/STD_LIBRARY_MODULES.md)**.
115
+
116
+ Key modules include:
117
+
118
+ | Module | Import | Description |
119
+ | ----------- | ------------------------------------------------------------ | ----------------------------------------------------------- |
120
+ | String | `open import "std/string"` | UTF-8 strings with parsing, search, transform |
121
+ | Collections | `"std/collections/array_list"`, `hash_map`, `hash_set`, etc. | ArrayList, HashMap, HashSet, BTreeMap, Deque, PriorityQueue |
122
+ | File System | `open import "std/fs/file"` | Async file I/O, directories, metadata |
123
+ | Networking | `open import "std/net/tcp"` | TCP/UDP sockets, DNS resolution |
124
+ | JSON | `open import "std/encoding/json"` | Full JSON parser/stringifier |
125
+ | TOML | `"std/toml/toml"` | TOML config file parser |
126
+ | HTTP | `"std/http/http"` | HTTP request builder, response parser |
127
+ | Regex | `open import "std/regex/regex"` | Regular expression engine |
128
+ | Crypto | `open import "std/crypto/sha256"` | SHA-256, MD5, random |
129
+ | Formatting | `open import "std/fmt"` | `print`, `println` for any `ToString` type |
130
+
112
131
  ## Code examples
113
132
 
114
133
  Check the [./tests](./tests/) and [./std](./std/) folders for code examples.