16 Star 97 Fork 20

凹语言开发工作室 / 凹语言

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README-zh.md 3.83 KB
一键复制 编辑 原始数据 按行查看 历史
chai2010 提交于 2024-04-11 03:45 . 更新 readme

凹语言

主页 | Playground | 路线 | 社区 | 日志

凹语言(凹读音“Wā”)是 针对 WASM 平台设计的通用编程语言,同时支持 Linux、macOS 和 Windows 等主流操作系统和 Chrome 等浏览器环境,同时也支持作为独立 Shell 脚本和被嵌入脚本模式执行。

说明: 除非特别声明,凹语言代码均以 AGPL-v3 开源协议授权, 具体可以参考 LICENSE 文件。

如何参与开发

项目尚处于原型开源阶段,如果有共建和PR需求请参考 如何贡献代码。我们不再接受针对第三方依赖库修改的 PR。

特别注意:向本仓库提交PR视同您认可并接受凹语言贡献者协议,但在实际签署之前,您的PR不会被评审或接受。

Playground 在线预览

https://wa-lang.org/playground

贪吃蛇游戏

NES小霸王游戏机模拟器

WebGPU 模拟土星和小行星

P5 儿童编程

例子: 凹语言

打印字符和调用函数:

import "fmt"

global year: i32 = 2023

func main {
	println("hello, Wa!")
	println(add(40, 2), year)

	fmt.Println(1+1)
}

func add(a: i32, b: i32) => i32 {
	return a+b
}

运行并输出结果:

$ wa run hello.wa 
你好,凹语言!
42 2023
2

例子: 打印素数

打印 30 以内的素数:

// 版权 @2021 凹语言™ 作者。保留所有权利。

func main {
	for n := 2; n <= 30; n = n + 1 {
		isPrime: int = 1
		for i := 2; i*i <= n; i = i + 1 {
			if x := n % i; x == 0 {
				isPrime = 0
			}
		}
		if isPrime != 0 {
			println(n)
		}
	}
}

运行并输出结果:

$ cd waroot && wa run -target=wasi examples/prime
2
3
5
7
11
13
17
19
23
29

例子:用中文语法打印素数

引于 "书"

【启】:
  // 打印30以内的素数
  从n=2,到n>30,有n++:
    设素=1
    从i=2,到i*i>n,有i++:
      设x=n%i
      若x==0则:
        素=0


    若素!=0则:
      书·曰:n


运行的结果和英文语法的示例相同。

更多例子 waroot/examples

贡献者名单

贡献者 贡献点
柴树杉 50000
丁尔男 58500
史斌 29000
扈梦明 28000
赵普明 18000
宋汝阳 2000
刘云峰 1000
王湘南 1000
王泽龙 1000
吴烜 3000
刘斌 2500
尹贻浩 2000
安博超 3000
yuqiaoyu 600
qstesiro 200
small_broken_gong 100
tk103331 100

贡献点变更记录见 waroot/cplog 目录。

Go
1
https://gitee.com/wa-lang/wa.git
git@gitee.com:wa-lang/wa.git
wa-lang
wa
凹语言
master

搜索帮助