XS:一种编程语言。任何地点、任何时间、任何人

2026-05-17 1 阅读 yacin
XS v 1.2.26 一种编程语言。任何地点、任何时间、任何人。一个静态链接的二进制文件包含编译器、语言服务器、调试器、格式化程序、linter、测试运行器、分析器和包管理器。相同的源在 Linux、macOS、Windows、WASI、iOS、Android、ESP32 和 Raspberry Pi 上运行不变。 6 个后端 3 个转译目标 0 运行时依赖 2.9 MB 二进制 Hero.xs 复制重置运行 {- 经典递归 fib,memoished -} @memoize fn fib ( n ) { if n < 2 { return n } return fib ( n - 1 ) + fib ( n - 2 ) } println ( fib ( 30 ) ) -- 832040 {- 经典递归fib, memoished -} @memoize fn fib(n) { if n < 2 { return n } return fib(n - 1) + fib(n - 2) } println(fib(30)) -- 832040 macOS、Linux嘘 |复制 Windows > irm xslang.org/install.ps1 | iex copy Source $ git clone github.com/xs-lang0/xs && cd xs && make copy 两个安装程序在运行任何内容之前都会根据其发布的 SHA-256 和来验证 GitHub 版本。带有校验和的静态二进制文件也位于 /downloads 。基准启动,hello world 3 ms C 源代码(不包括 BearSSL) 132 KLOC fib(30) xs --jit xs (vm) node 20 cpython 3.13 31 ms 138 ms 62 ms 71 ms 在 Linux x86-64 机器上测量,每个二进制文件都来自磁盘,三轮运行中最好。使用源树中的 bash test/bench_backends.sh 进行重现。 The JIT and VM numbers come from the same build that ships in releases.后端 xs --interp tree-walk 解释器,用于 REPL 和 AST 级插件调试 xs (默认)字节码 VM 正常运行通过 xs --jit 寄存器分配 JIT x86-64 + aarch64;其集合之外的操作码会回退到 VM xs --emit c C 转换器 自包含的 C 源代码,用于任何合理的编译器 xs --emit js JavaScript 转换器 节点或浏览器;如果您只需要一个程序 xs.wasm 运行时构建在浏览器中运行的相同编译器,则发货量少于 xs.wasm;附带一个虚拟文件系统,其行为类似于本机二进制文件,因此任何 XS 程序都可以在运行时进行评估。如何嵌入它。阅读文档 -> 在 GitHub 上打开 Playground 源代码