[ — это универсальный язык программирования, предназначенный для WebAssembly.Цель состоит в том, чтобы предоставить простой, надёжный и удобный в использовании статически типизированный язык для высокопроизводительных веб-приложений. Генератор кода и среда выполнения полностью независимо созданы (не зависят от внешних проектов, таких как LLVM). В настоящее время WA находится на этапе инженерских испытаний. - Домашняя страница: [https://wa-lang.github.io/](https://wa-lang.github.io/)
- Руководство: [https://wa-lang.github.io/man/en/](https://wa-lang.github.io/man/en/)
- GitHub: [https://github.com/wa-lang/wa](https://github.com/wa-lang/wa)
- Playground: [https://wa-lang.org/playground](https://wa-lang.org/playground)
Примечание: Если не указано иное, файлы исходного кода Wa распространяются под лицензией AGPL-v3, которая находится в файле LICENSE.
Как принять участие
Проект пока находится на этапе прототипирования. Если у вас есть предложения по совместной работе или PR, обратитесь к разделу Как принять участие. Мы больше не принимаем PR для модификаций сторонних библиотек.
Примечание: Наши канонические репозитории Git расположены по адресу https://gitcode.com/wa-lang/wa. Есть зеркало этого репозитория по адресу https://github.com/wa-lang/wa. Если не указано иное, файлы исходного кода Wa распространяются под лицензией AGPL-v3, которая находится в файле LICENSE.
Примечание: Подача PR в этот репозиторий считается вашим признанием и согласием с Соглашением участника проекта Wa (также известным как WCA), но ваши PR будут проверены и приняты только после подписания WCA.
Playground
https://wa-lang.org/playground

Игра "Змейка"

Игра WASM4
Эмулятор NES

Демонстрация WebGPU

P5 для творческого программирования

Arduino Nano 33

Пример: Вывод Wa
Выведите руну и вызовите функцию:
import "fmt"
глобальная переменная год: i32 = 2023
функция основная() {
println("Привет, Wa!")
println(add(40, 2), год)
fmt.Println(1+1)
}
функция add(a: i32, b: i32) => i32 {
return a+b
}
Выполните программу:
$ wa run hello.wa
Привет, Wa!
42 2023
2
Пример: Вывод простых чисел
Выведите простые числа до 30:
функция основная() {
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:
引于 "书"
【启】:
// 输出30以内的素数
从n=2,到n>30,有n++:
设素=1
从i=2,到i*i>n,有i++:
设x=n%i
若x==0则:
素=0
。
。
若素!=0则:
书·曰:n
。
。
。
Результат аналогичен предыдущему примеру.## Пример: Встроенный AI в Chrome
Демонстрация встроенной системы Gemini Nano в Chrome:
import "ai"
функция основная() {
ai.RequestSession(функция(сессия: ai.Session) {
сессия.PromptAsync("Кто ты?", функция(ответ: string) {
println(ответ)
})
})
}
Более примеров waroot/examples
Участники проекта
Участник |
Очки вклада |
Чай Шу Шан |
86000 |
Динг Эр Нань |
90500 |
Ши Бинь |
29000 |
Ху Мо Минь |
49000 |
Чжоу Пу Минь |
18000 |
Сунь Ю |
2000 |
Лiu Юнь Фэн |
1000 |
Wang Xiang Нань |
1000 |
Wang Ze Лонг |
1000 |
Wu Xuan |
3000 |
Liu Бин |
2500 |
Yin Yi Хао |
2000 |
Ан Бо Чжао |
3000 |
Yu Qi Ао Ю |
600 |
Qs Tesiro |
200 |
Small Broken Gong |
100 |
Tk103331 |
100 |
Цай Синь |
3000 |
Wang Ren Yi |
1000 |
IM Alasong |
1000 |
Yang Gang |
4000 |
Цуй Шуан |
2000 |
Li Цин |
10000 |
Поддержите нас звездой! ⭐
Если вам нравится или вы используете язык Wa для обучения или запуска своих проектов, пожалуйста, отметьте его звездой. Спасибо!
Комментарии ( 0 )