Tra cứu nhanh
Trang này là câu trả lời cho ba câu hỏi: chín effect gồm những gì, chúng quản lý những builtin nào, và thư viện chuẩn có gì.
Mọi bảng dưới đây được sinh tự động từ mã nguồn trình biên dịch, không
gõ tay: danh sách effect và ánh xạ builtin đến từ src/hlc/parser.hls và
src/hlc/checker.hls, danh sách module đến từ cây std/ và core/, và các
con số snapshot đến từ snapshot/MANIFEST.json. Khi trình biên dịch thay đổi,
trang này thay đổi theo — và CI sẽ fail nếu bản commit trong repo lệch.
Chín effect
Phần tiêu đề “Chín effect”| Effect | Builtin | Trong bí danh trùm uses IO? |
|---|
Tất cả builtin, theo effect
**`IO`** — `eprint`, `eprintln`, `isatty`, `print`, `println`, `read_line` **`Fs`** — `file_exists`, `fs_is_dir`, `fs_read_dir`, `fs_set_perms`, `fs_size`, `read_file`, `read_file_tainted`, `write_file` **`Clock`** — `clock_ms`, `instant_now_ns`, `system_time_now_ms`, `thread_sleep_ms` **`Args`** — `args`, `tainted_args` **`Exit`** — `exit` **`Net`** — `net_close`, `net_lookup`, `net_read`, `net_tcp_accept`, `net_tcp_connect`, `net_tcp_listen`, `net_tls_get`, `net_udp_open`, `net_udp_recv_from`, `net_udp_send_to`, `net_write` **`Rand`** — `rand_float`, `rand_int`, `rand_seed` **`Proc`** — `args_os`, `cwd_get`, `cwd_set`, `env_get`, `env_has`, `env_set`, `env_unset`, `proc_child_close`, `proc_child_read`, `proc_child_write`, `proc_exec`, `proc_kill`, `proc_pid`, `proc_spawn`, `proc_wait`, `sys_hostname` **`Conc`** — `async_spawn`, `await`, `chan.len`, `chan.recv`, `chan.recv_or`, `chan.send`, `chan.try_send`, `chan_new`, `chan_new_bounded`, `future_poll`, `future_ready`, `future_select`, `gen_spawn`, `select`, `spawn`, `stream_close`, `stream_filter_int`, `stream_flat_map_int`, `stream_fold_int`, `stream_len`, `stream_map_int`, `stream_merge_int`, `stream_new`, `stream_recv`, `stream_send`, `stream_take_int`, `stream_try_recv`, `task.join`, `thread_current_id`, `thread_sleep_ms`, `thread_yield`Bốn backend
Phần tiêu đề “Bốn backend”| Backend | Triple | Ghi chú |
|---|---|---|
| Native C | x86_64 / aarch64 / riscv64 — Linux, macOS, Windows, FreeBSD |
Đường mặc định: AOT qua cc |
| LLVM IR | bất kỳ đích LLVM nào | hlc --emit llvm prog.hls out.ll |
| WebAssembly | wasm32 |
std.jsffi / std.dom; đóng gói bởi hls-wasm-pack |
| Bare metal | x86_64 / aarch64 / riscv64 -unknown-none |
Multiboot2/Limine, IDT/GDT, MMIO, buffer an toàn DMA, script liên kết tuỳ biến, DWARF 5 |
Thư viện chuẩn
Phần tiêu đề “Thư viện chuẩn”64 module trong std/ và 18 module trong
core/ — tổng cộng 82.
Toolchain
Phần tiêu đề “Toolchain”30 công cụ native trong tools/, cộng language server, debug
adapter và REPL:
Sổ cái soundness
Phần tiêu đề “Sổ cái soundness”15 dòng, mỗi dòng có cơ chế thực thi, điểm neo trong cây mã nguồn và các probe âm tính phải thất bại đúng như mong đợi:
`G-MEM-01`, `G-MEM-02`, `G-TYPE-01`, `G-ARITH-01`, `G-EFF-01`, `G-TAINT-01`, `G-CONC-01`, `G-MATCH-01`, `G-CAP-01`, `G-SBX-01`, `G-CT-01`, `G-FFI-01`, `G-SPEC-01`, `G-DET-01`, `G-CORPUS-01`Snapshot bootstrap
Phần tiêu đề “Snapshot bootstrap”| Trường | Giá trị |
|---|---|
| Phiên bản | {bootstrap.version} |
| Số dòng | 43,610 |
| Số byte | 3,075,424 |
| SHA-256 | {bootstrap.sha256} |
| Closure digest | {bootstrap.closureDigest} |
| Số file trong closure | 20 |