Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
/waPublic

The Wa Programming Language

License

NotificationsYou must be signed in to change notification settings

wa-lang/wa

Repository files navigation

Build StatusCoverage StatusGitHub releaselicenseCNCF Landscape

Wa (Chinese name "凹", which pronounced "Wa") is a general-purpose programming language designed for for WebAssembly. The goal is to provide a simple, reliable, easy-to-use, statically typed language for high-performance web applications. The code generator and runtime are fully independently developed (not dependent on external projects such as LLVM). Currently, Wa is in the engineering trial stage.

Note: Unless otherwise noted, the Wa source files are distributed under the AGPL-v3 license found in the LICENSE file.

How to contribute

The project is still in the prototype stage. If you have co-construction or PR needs, please refer toHow to contribute. We no longer accept PRs for modifications to third-party libraries.

Note: Our canonical Git repository is located athttps://gitcode.com/wa-lang/wa. There is a mirror of the repository athttps://github.com/wa-lang/wa. Unless otherwise noted, the Wa source files are distributed under the AGPL-v3 license found in the LICENSE file.

Note: Submitting a PR to this repository is deemed to be your recognition and acceptance of theWa Contributor Agreement(Aka WCA), but your PRs will not be reviewed or accepted until WCA is actually signed.

Playground

https://wa-lang.org/playground

Snake Game

WASM4 Game

NES emulator

WebGPU Demo

P5 for creative coding

Arduino Nano 33

Example: Print Wa

Print rune and call function:

import "fmt"global year: i32 = 2023func 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:

$ wa run hello.wa hello, Wa!42 20232

Example: Print Prime

Print prime numbers up to 30:

func main {for n := 2; n <= 30; n = n + 1 {isPrime: int = 1for 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 && wa run -target=wasi examples/prime2357111317192329

Example: Print Prime with Chinese syntax

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.

Example: Chrome Native AI

Chrome builtin Gemini Nano Demo:

import "ai"func main {ai.RequestSession(func(session: ai.Session){session.PromptAsync("Who are you?", func(res: string) {println(res)})})}

More exampleswaroot/examples

Contributors

ContributorContribution points
柴树杉86000
丁尔男90500
史斌29000
扈梦明49000
赵普明18000
宋汝阳2000
刘云峰1000
王湘南1000
王泽龙1000
吴烜3000
刘斌2500
尹贻浩2000
安博超3000
yuqiaoyu600
qstesiro200
small_broken_gong100
tk103331100
蔡兴3000
王仁义1000
imalasong1000
杨刚4000
崔爽2000
李瑾10000

Give a Star! ⭐

If you like or are using Wa to learn or start your projects,please give it a star. Thanks!


[8]ページ先頭

©2009-2025 Movatter.jp