凹语言 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
凹语言 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
凹语言 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 AGPL
开发语言 Google Go 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 其他
开源组织
地区 国产
投 递 者
适用人群 未知
收录时间 2022-08-03

软件简介

凹语言(凹读音“Wa”)是国内 Go 开发者设计的面向WebAssembly的通用编程语言。同时支持 Linux、macOS 和 Windows 等主流操作系统和 Chrome 等浏览器环境,同时也支持作为独立Shell脚本和被嵌入脚本模式执行。目前正在完善对 Arduino 等平台的支持。

设计目标

  • 简单、克制、易于上手;
  • 足够的表达力,但使用时没有过高的心智负担;
  • 可以同时用于前后端的主业务逻辑构建;
  • 支持中文/英文双语关键字,支持中文等非英文符号。

更多细节请参考 凹语言 项目目标

处理过程

凹编译器的工作过程如下图所示:

例子: 打印素数

打印 30 以内的素数:

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

func main {
    for n := 2; n <= 30; n = n + 1 {
        var 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)
        }
    }
}

运行并输出结果:

$ go run main.go prime.wa
2
3
5
7
...

凹语言版贪吃蛇 https://wa-lang.org/wa/snake/

凹语言 Playground (纯浏览器, 不依赖外部服务) https://wa-lang.org/playground/

Arduino 环境

具体请参考凹语言官网相关文档:https://wa-lang.org

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(27) 发布并加入讨论🔥
04/20 00:33

凹语言 v0.12.0 发布, 增加 embed 功能

凹语言是国内 Gopher 发起的纯社区构建的开源国产编程语言项目(没有公司背景、没有任何赞助)。同时凹语言也是国内第一个实现纯浏览器内编译、执行全链路的自研静态类型的编译型通用编程语言。 凹语言 v0.12.0 发布,增加实验性的embed功能 - const 常量增加 embed 实验特性 - 完善函数重载和运算符重载功能, 完善胶水代码 - 简化 p5 API接口 更多信息请访问凹语言官网:https://wa-lang.org/...

0
2
04/13 07:47

凹语言 v0.11.0 发布, 增加实验性的运算符重载功能

凹语言是国内 Gopher 发起的纯社区构建的开源国产编程语言项目(没有公司背景、没有任何赞助)。同时凹语言也是国内第一个实现纯浏览器内编译、执行全链路的自研静态类型的编译型通用编程语言。凹语言v0.11.0发布, 增加实验性的运算符重载功能 - 完善 `math/{Sin,Cos,Sqrt}` 等 API - 增加 `math/vector`/`math/matrix`/`net` 标准库 - 实验性增加运算符重载功能 更多信息请访问凹语言官网:https://wa-lang.org/...

0
0
03/29 22:25

凹语言 v0.10.0 发布, 增加实验性的函数重载功能

凹语言是国内 Gopher 发起的纯社区构建的开源国产编程语言项目(没有公司背景、没有任何赞助)。同时凹语言也是国内第一个实现纯浏览器内编译、执行全链路的自研静态类型的编译型通用编程语言。凹语言 v0.10.0 发布,实验性增加函数重载支持: 补充基本类型读写胶水 修正 I64、U64 不应导出等一些错误 实验性引入全局函数和方法的重载功能 更多信息请访问凹语言官网:https://wa-lang.org/...

2
0
03/07 21:39

凹语言 v0.9.2 发布, 完善 p5 支持

凹语言是国内 Gopher 发起的纯社区构建的开源国产编程语言项目(没有公司背景、没有任何赞助)。同时凹语言也是国内第一个实现纯浏览器内编译、执行全链路的自研静态类型的编译型通用编程语言。凹语言 v0.9.2 发布, 完善 p5 支持: 完善 js/p5 包, 增加键盘事件处理, 改用凹语言原生绘图 wa init 增加 -p5 参数 更多信息请访问凹语言官网:https://wa-lang.org/...

0
0
02/14 17:21

凹语言发布 v0.9.1,支持 P5 儿童编程

凹语言设计的目标之一是简单易用。但是对于新接触编程的儿童教学来说依然有一定的门槛。为此开发组尝试将面向创意编程的 Processing 理念引入凹语言,通过 js/p5 包可以轻松实现一些简单的互动创意设计。 下面是来自杭州一小学三年级小学生的第一个凹语言程序: 通过VS Code将以上的程序输入电脑,编译并执行的效果如下: 程序本身也非常简单:首先通过 import 引入 P5 包;然后在 init 初始化一个长宽都是400的画布并设置一个灰...

2
2
2023/12/17 02:00

凹语言 v0.9.0 (2023-12-15) 发布

凹语言(凹读音“Wā”)是 针对 WASM 平台设计的通用编程语言,同时支持 Linux、macOS 和 Windows 等主流操作系统和 Chrome 等浏览器环境,同时也支持作为独立 Shell 脚本和被嵌入脚本模式执行。 凹语言是国内 Gopher 发起的纯社区构建的开源国产编程语言项目(没有公司背景、没有任何赞助)。同时凹语言也是国内第一个实现纯浏览器内编译、执行全链路的自研静态类型的编译型通用编程语言。 v0.9.0 更新内容包括: 增加胶水代码...

1
0
2023/08/21 21:35

凹语言开源 1 周年发布 MVP 版本,欢迎关注直播

凹语言是国内 Gopher 发起的纯社区构建的开源国产编程语言项目(没有公司背景、没有任何赞助)。同时凹语言也是国内第一个实现纯浏览器内编译、执行全链路的自研静态类型的编译型通用编程语言。 官网:https://wa-lang.org/ 开源一周年之际,凹语言在8月12日发布了MVP版本和对应的参考手册,为发展提供了更多可畅享的未来。同时凹语言开发组将在 8 月 24 日 19:00-20:30 在 “OSC 开源社区”视频号进行视频直播,为大家介绍凹语...

2
3
2023/05/27 11:45

凹语言 v0.7.0 发布, 完善接口和测试功能

凹语言是国内 Gopher 发起的纯社区构建的开源国产编程语言项目(没有公司背景、没有任何赞助)。同时凹语言也是国内第一个实现纯浏览器内编译、执行全链路的自研静态类型的编译型通用编程语言。 官网:https://wa-lang.org/ - 2023纪念胸章发行 - 完成接口功能 - 单元测试支持标准库 - 去掉外部工具依赖

15
3
2023/04/13 18:11

凹语言 v0.6.0 发布, 增加凹中文前端支持、初步支持接口方法调用

凹语言 - 国内首个实现纯浏览器内编译、执行全链路的自研静态类型的编译型通用编程语言。为 WebAssembly 而生的通用编程语言。 更新内容 增加凹语言中文语法 初步支持接口方法调用 包支持混入汇编代码 删除 testing 实验性的包, 单元测试增加内置的 assert 测试函数 在“国产语言论坛”开板: https://zh-lang.osanswer.net/c/walang

0
0
2023/03/25 07:02

凹语言 v0.5.1 发布

凹禁止 package 语法, 仅作为一个保留关键字 wasi: 支持 命令行参数后环境变量(基于 os 包) 命令行增加实验性单元测试功能 完善空参数函数格式化

7
1
2023/03/06 08:20

凹语言 v0.5.0 发布, 支持 Docker 和 Yacc

凹语言 v0.5.0 版本已发布, 此版本支持 Docker 和 Yacc。 主要更改如下: 根据 5号提案 将 fn 改成 func,# 作为特殊指令而非注释 支持 wasi 规范, 输出的 支持 Docker 环境运行 支持 build-tag 条件编译 Play 增加检索功能 增加 yacc 子命令 详见:https://wa-lang.org/guide/changelog.html

0
1
2023/01/06 22:00

凹语言开发的贪吃蛇上线

凹语言是国内 Gopher 发起的纯社区构建的开源国产编程语言项目。同时凹语言也是国内第一个实现纯浏览器内编译、执行全链路的自研静态类型的编译型通用编程语言。 本文尝试通过贪吃蛇例子较为完整的展示了如何使用凹语言开发网页应用。其中使用了动态数组、方法值闭包、自定义对象等特性,特别是凹语言与JS环境如何互相调用及传递数据。该例子体现了凹语言用于更复杂应用的开发潜力。 网页地址:https://wa-lang.org/wa/snake 实...

0
0
2022/12/03 15:08

v0.4.0 发布,凹语言全面入驻开源中国

开通 开源中国机构号 和 微信公众号, 主仓库迁到 Gitee 包路径调整为 wa-lang.org/wa 改进类型方法语法, 支持平台特定源文件 WAT 后端支持多返回值, 支持闭包和方法值, 支持 Arduino Nano 33 LLVM 后端支持多返回值, 点亮 Arduino 单片机 已经初步 图灵完备

1
1
发表了资讯
2022/11/16 08:39

凹语言 v0.3.1 发布,支持多包

凹语言™(凹读音 “Wa”)是国内 Gopher 针对 WASM 平台设计的的通用编程语言,支持 Linux、macOS 和 Windows 等主流操作系统和 Chrome 等浏览器环境,同时也支持作为独立 Shell 脚本和被嵌入脚本模式执行。 主页:https://wa-lang.org v0.3.1 更新内容: - 完善 WAT 后端, 支持多包 - LLVM 后端支持基本数值运算 (依赖 clang 和 llc) - wazero 更新到 v1.0.0-pre.3...

1
2
发表了资讯
2022/11/05 14:55

凹语言 v0.3.0 发布

凹语言™(凹读音 “Wa”)是国内 Gopher 针对 WASM 平台设计的的通用编程语言,支持 Linux、macOS 和 Windows 等主流操作系统和 Chrome 等浏览器环境,同时也支持作为独立 Shell 脚本和被嵌入脚本模式执行。 主页: https://wa-lang.org 更新内容 - 启用 AGPLv3 开源协议:https://wa-lang.org/community/license.html - 增加 如何贡献代码 机制:https://wa-lang.org/community/contribute.html - 语言: 实现字符串类型:改用...

7
1
发表了资讯
2022/10/18 23:02

凹语言 v0.2.3 发布

凹语言™(凹读音 “Wa”)是国内 Gopher 针对 WASM 平台设计的的通用编程语言,支持 Linux、macOS 和 Windows 等主流操作系统和 Chrome 等浏览器环境,同时也支持作为独立 Shell 脚本和被嵌入脚本模式执行。 主页: https://wa-lang.org - 支持 JetBrains Fleet 语法高亮 - Wat 后端改善对 Slice 支持 https://github.com/wa-lang/wa/releases/tag/v0.2.3...

0
1
发表了资讯
2022/10/15 21:59

凹语言支持 JetBrains Fleet 语法高亮

凹语言第一时间支持JetBrains Fleet 语法高亮! JetBrains 宣布首次公共预览 Fleet,所有人都可以使用。Fleet 是由 JetBrains 打造的下一代 IDE,于 2021 年首次正式推出。它是一个新的分布式多语言编辑器和 IDE,基于 JetBrains 在后端的 IntelliJ 平台,采用了全新的用户界面和分布式架构从头开始构建。具体可以参考 https://www.oschina.net/news/213442/jetbrains-fleet-public-preview 凹语言™(凹读音 “Wa”)是 针对 ...

0
1
发表了资讯
2022/10/14 09:28

凹语言 VIM 语法高亮

凹语言™(凹读音“Wa”)是 针对 WASM 平台设计的的通用编程语言,支持 Linux、macOS 和 Windows 等主流操作系统和 Chrome 等浏览器环境,同时也支持作为独立Shell脚本和被嵌入脚本模式执行。主页 : https://wa-lang.org 克隆 vim-wa 仓库到本地(假设目录路径为 `$VIM_WA_ROOT`),然后在 `$HOME/.vimrc` 文件添加以下配置信息: ``` set rtp+=$VIM_WA_ROOT/misc/vim filetype plugin indent on syntax on ``` 打开 hello.wa 文...

3
1
发表了资讯
2022/10/12 00:10

凹语言 v0.2.2 发布

凹语言™(凹读音 “Wa”)是针对 WASM 平台设计的的通用编程语言,支持 Linux、macOS 和 Windows 等主流操作系统和 Chrome 等浏览器环境,同时也支持作为独立 Shell 脚本和被嵌入脚本模式执行。主页:https://wa-lang.org - Windows 增加 exe 图标 - Playground 改进异步加载wasm资源, 支持多个例子 - Wat 后端改善全局变量支持 - 增加 `#wa:xxx` 模式注释, 支持通过凹语言实现底层的 runtime 函数 - 实验特性: 简化无参数和返...

2
0
发表了资讯
2022/09/30 10:02

凹语言 v0.2.0 开始正式支持 Windows 平台

凹语言™(凹读音“Wa”)是针对 WASM 平台设计的的通用编程语言,支持 Linux、macOS 和 Windows 等主流操作系统和 Chrome 等浏览器环境,同时也支持作为独立Shell脚本和被嵌入脚本模式执行。主页:https://wa-lang.org Windows 作为全球最流行的操作系统,从凹语言 v0.2.0 开始正式支持 Windows 平台。最近有个小变化和大家分享。 凹语言命令增加图标,更符合 Windows 平台视觉风格: 更多信息请参考 https://github.com/wa-la...

6
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
27 评论
21 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部