{"id":13412750,"url":"https://github.com/wa-lang/wa","last_synced_at":"2025-03-14T18:32:14.016Z","repository":{"id":47550879,"uuid":"515818850","full_name":"wa-lang/wa","owner":"wa-lang","description":"The Wa Programming Language: Simple, maintainable, compiled language for developing WebAssembly software","archived":false,"fork":false,"pushed_at":"2024-04-13T02:31:09.000Z","size":11086,"stargazers_count":720,"open_issues_count":0,"forks_count":51,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-04-14T04:18:57.393Z","etag":null,"topics":["compiler","language","programming-language","wa","wa-lang","wasi","wasm","webassembly"],"latest_commit_sha":null,"homepage":"https://wa-lang.github.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wa-lang.png","metadata":{"files":{"readme":"README-zh.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-07-20T03:22:58.000Z","updated_at":"2024-08-25T23:40:46.904Z","dependencies_parsed_at":"2023-12-21T02:03:35.902Z","dependency_job_id":"ef577430-1ab7-4559-8684-5fbab387f8de","html_url":"https://github.com/wa-lang/wa","commit_stats":{"total_commits":525,"total_committers":10,"mean_commits":52.5,"dds":"0.32380952380952377","last_synced_commit":"322a94b481d8985b6738e3e1e7a32de3c5085372"},"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wa-lang%2Fwa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wa-lang%2Fwa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wa-lang%2Fwa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wa-lang%2Fwa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wa-lang","download_url":"https://codeload.github.com/wa-lang/wa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243625171,"owners_count":20321249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compiler","language","programming-language","wa","wa-lang","wasi","wasm","webassembly"],"created_at":"2024-07-30T20:01:28.715Z","updated_at":"2025-03-14T18:32:14.011Z","avatar_url":"https://github.com/wa-lang.png","language":"Go","readme":"\u003cdiv align=\"center\"\u003e\n\u003ch1\u003e凹语言\u003c/h1\u003e\n\n[主页](https://wa-lang.org) | [Playground](https://wa-lang.org/playground) | [路线](https://wa-lang.org/smalltalk/st0001.html) | [社区](https://wa-lang.org/community) | [日志](https://wa-lang.org/guide/changelog.html)\n\n\u003c/div\u003e\n\n凹语言（凹读音“Wā”）是针对 WebAssembly 设计的编程语言，目标是为高性能网页应用提供一门简洁、可靠、易用、强类型的编译型通用语言。凹语言的代码生成器及运行时为全自主研发（不依赖于LLVM等外部项目），实现了全链路自主可控。目前凹语言处于工程试用阶段。\n\n![](docs/images/wa-chan/wa-chan-front-small-logo-animate1.svg)\n\n- 主页: [https://wa-lang.org](https://wa-lang.org)\n- 参考手册: [https://wa-lang.org/man/](https://wa-lang.org/man/)\n- 仓库(GitCode): [https://gitcode.com/wa-lang/wa](https://gitcode.com/wa-lang/wa)\n- 仓库(Gitee): [https://gitee.com/wa-lang/wa](https://gitee.com/wa-lang/wa)\n- 仓库(Github): [https://github.com/wa-lang/wa](https://github.com/wa-lang/wa)\n- Playground: [https://wa-lang.org/playground](https://wa-lang.org/playground)\n\n\u003e 说明: 除非特别声明，凹语言代码均以 AGPL-v3 开源协议授权, 具体可以参考 LICENSE 文件。\n\n## 如何参与开发\n\n项目尚处于原型开源阶段，如果有共建和PR需求请参考 [如何贡献代码](./wca/readme.md)。我们不再接受针对第三方依赖库修改的 PR。\n\n\u003e 特别注意：向本仓库提交PR视同您认可并接受[凹语言贡献者协议](./wca/wca.md)，但在实际签署之前，您的PR不会被评审或接受。\n\n## Playground 在线预览\n\n[https://wa-lang.org/playground](https://wa-lang.org/playground)\n\n![](docs/images/playground-01.png)\n\n## 贪吃蛇游戏\n\n- [https://wa-lang.org/wa/snake/](https://wa-lang.org/wa/snake/)\n- [https://wa-lang.org/smalltalk/st0018.html](https://wa-lang.org/smalltalk/st0018.html)\n\n![](docs/images/snake-01.jpg)\n\n\n## WASM4游戏\n\n- Wasm4/Snake: https://wa-lang.org/wa/w4-snake/\n- Wasm4/2048: https://wa-lang.org/wa/w4-2048/\n\n![](docs/images/wasm4-game-snake-2048.png)\n\n- [Wasm4/Snake Code](waroot/examples/w4-snake)\n- [Wasm4/2048 Code](waroot/examples/w4-2048)\n\n## NES小霸王游戏机模拟器\n\n- Play: [https://wa-lang.org/nes/](https://wa-lang.org/nes/)\n- Code: [https://gitee.com/wa-lang/nes-wa](https://gitee.com/wa-lang/nes-wa)\n\n![](docs/images/nes-01.png)\n\n## WebGPU 模拟土星和小行星\n\n- Play: [https://wa-lang.org/webgpu/](https://wa-lang.org/webgpu/)\n- Code: [https://gitee.com/wa-lang/webgpu](https://gitee.com/wa-lang/webgpu)\n\n![](docs/images/webgpu-01.png)\n\n## P5 儿童编程\n\n- https://wa-lang.org/smalltalk/st0037.html\n\n![](docs/images/p5wa-01.png)\n\n## Arduino Nano 33 开发板\n\n- https://wa-lang.org/smalltalk/st0052.html\n\n![](docs/images/arduino-nano33-01.png)\n\n## 例子: 凹语言\n\n打印字符和调用函数：\n\n```wa\nimport \"fmt\"\n\nglobal year: i32 = 2023\n\nfunc main {\n\tprintln(\"hello, Wa!\")\n\tprintln(add(40, 2), year)\n\n\tfmt.Println(1+1)\n}\n\nfunc add(a: i32, b: i32) =\u003e i32 {\n\treturn a+b\n}\n```\n\n运行并输出结果:\n\n```\n$ wa run hello.wa \n你好，凹语言！\n42 2023\n2\n```\n\n## 例子: 打印素数\n\n打印 30 以内的素数:\n\n```wa\n// 版权 @2021 凹语言™ 作者。保留所有权利。\n\nfunc main {\n\tfor n := 2; n \u003c= 30; n = n + 1 {\n\t\tisPrime: int = 1\n\t\tfor i := 2; i*i \u003c= n; i = i + 1 {\n\t\t\tif x := n % i; x == 0 {\n\t\t\t\tisPrime = 0\n\t\t\t}\n\t\t}\n\t\tif isPrime != 0 {\n\t\t\tprintln(n)\n\t\t}\n\t}\n}\n```\n\n运行并输出结果:\n\n```\n$ cd waroot \u0026\u0026 wa run -target=wasi examples/prime\n2\n3\n5\n7\n11\n13\n17\n19\n23\n29\n```\n\n## 例子：用中文语法打印素数\n\n```wz\n引于 \"书\"\n\n【启】：\n  // 打印30以内的素数\n  从n=2，到n\u003e30，有n++：\n    设素=1\n    从i=2，到i*i\u003en，有i++：\n      设x=n%i\n      若x==0则：\n        素=0\n      。\n    。\n    若素!=0则：\n      书·曰：n\n    。\n  。\n。\n```\n\n运行的结果和英文语法的示例相同。\n\n## 例子：Chrome本地AI\n\nChrome builtin Gemini Nano Demo:\n\n```wa\nimport \"ai\"\n\nfunc main {\n\tai.RequestSession(func(session: ai.Session){\n\t\tsession.PromptAsync(\"Who are you?\", func(res: string) {\n\t\t\tprintln(res)\n\t\t})\n\t})\n}\n```\n\n\n更多例子 [waroot/examples](waroot/examples)\n\n## 贡献者名单\n\n|贡献者|贡献点|\n| --- | --- |\n|柴树杉| 86000|\n|丁尔男| 90500|\n|史斌  | 29000|\n|扈梦明| 49000|\n|赵普明| 18000|\n|宋汝阳|  2000|\n|刘云峰|  1000|\n|王湘南|  1000|\n|王泽龙|  1000|\n|吴烜  |  3000|\n|刘斌  |  2500|\n|尹贻浩|  2000|\n|安博超 | 3000|\n|yuqiaoyu| 600|\n|qstesiro| 200|\n|small_broken_gong|100|\n|tk103331|100|\n|蔡兴|3000|\n|王仁义|1000|\n|imalasong|1000|\n|杨刚|4000|\n|崔爽|2000|\n|李瑾|10000|\n\n贡献点变更记录见 [waroot/cplog](waroot/cplog) 目录。\n\n\n## 收藏点击 ⭐\n\n如果你喜欢凹语言项目的话，可以点击 ⭐ 收藏。\n","funding_links":[],"categories":["Go","Uncategorized","Embeddable Scripting Languages","可嵌入的脚本语言"],"sub_categories":["Uncategorized","Search and Analytic Databases","检索及分析资料库"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwa-lang%2Fwa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwa-lang%2Fwa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwa-lang%2Fwa/lists"}