Wa is a general-purpose programming language designed for developing robustness and maintainability WebAssembly software. Instead of requiring complex toolchains to set up, you can simply go install it - or run it in a browser.
- Home: https://wa-lang.org
- Manual(Chinese): https://wa-lang.org/man/
- Github: https://github.com/wa-lang/wa
- Playground: https://wa-lang.org/playground
Note: Our canonical Git repository is located at https://gitee.com/wa-lang/wa. There is a mirror of the repository at https://github.com/wa-lang/wa. Unless otherwise noted, the Wa source files are distributed under the AGPL-v3 license found in the LICENSE file.
https://wa-lang.org/playground
Install from binary: download wa
command from https://github.com/wa-lang/wa/releases, and set $PATH
env.
Or install from Go (Go >= 1.17):
go install wa-lang.org/wa@latest
cd waroot
wa init -name=examples/hi
wa run examples/hi
The Wa project is still in very early stage. If you want to submit PR, please read the Contribution Guide(Chinese). We do not accept PR only about 3rdparty changes.
Print rune and call function:
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
}
Execute the program:
$ go run main.go hello.wa
hello, Wa!
42 2023
2
Print prime numbers up to 30:
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)
}
}
}
Execute the program:
$ cd waroot && go run ../main.go run examples/prime
2
3
5
7
11
13
17
19
23
29
Print prime numbers up to 30:
引于 "书"
【启】:
// 输出30以内的素数
从n=2,到n>30,有n++:
设素=1
从i=2,到i*i>n,有i++:
设x=n%i
若x==0则:
素=0
。
。
若素!=0则:
书·曰:n
。
。
。
Output is the same as the previous example.
More examples waroot/examples
Contributor | Contribution points |
---|---|
柴树杉 | 35000 |
丁尔男 | 42500 |
史斌 | 29000 |
扈梦明 | 14000 |
赵普明 | 17000 |
宋汝阳 | 2000 |
刘云峰 | 1000 |
王湘南 | 1000 |
王泽龙 | 1000 |
吴烜 | 3000 |
刘斌 | 2500 |
尹贻浩 | 2000 |