- 博客(222)
- 收藏
- 关注
原创 入围名单公布|2025 MGPIC 决赛即将拉开帷幕!
决赛现场将汇聚多位业界大咖,他们将作为评委和嘉宾,为参赛者们带来专业的点评和宝贵的建议。此外,我们还准备了精美的赛事礼包以及 MoonBit 专属周边、茶歇等,让每位参与者在享受比赛的同时,也能收获满满的惊喜。对于无法亲临现场的朋友,我们也为您准备了线上直播的便利。本次决赛将同步进行全程直播,让您无论身在何处,都能实时感受比赛的紧张刺激和精彩瞬间,直播信息稍后公布,欢迎持续关注~我们诚挚邀请所有参赛选手携带您的亲友、同学一同来到决赛现场,共同见证这场编程界的盛宴。历经两个多月的角逐,本年度大赛正式进入。
2025-11-18 18:05:30
234
原创 MoonBit 再获美国知名科技媒体关注:The New Stack 推出 MoonBit Wasm 组件教程
在编写 MoonBit 代码之前,我们需要先创建一个 WIT 文件,用来声明我们将在 WebAssembly 组件世界中使用的接口。创建export add;这段 WIT 声明了一个版本为0.1.0的docs:adder包,并定义了名为add的接口,其中包含一个接收和返回u32的函数(在 MoonBit 中对应 UInt)。WIT 中的world是一个容器,用来放置所有组件需要的部分,这里只有一个 add 接口。生成后你应该会看到生成的.mbt文件。您可能已经猜到.mbt。
2025-11-13 18:27:04
972
原创 MoonBit Pearls Vol.15: 使用 MoonBit 和 Wassette 构建安全的 WebAssembly 工具
MCP(Model Completion Protocol)是 AI 模型与外部工具交互的协议。当 AI需要执行特定任务(如网络访问或数据查询)时,会通过 MCP调用相应工具。这种机制扩展了 AI 的能力,但也带来安全挑战。wassette 是微软开发的一个基于 WebAssembly 组件模型的运行时,为 AI系统提供安全执行外部工具的环境。它通过沙箱隔离和精确的权限控制,解决了 AI工具可能带来的安全风险。wassette 让工具运行在隔离环境中,权限受策略文件严格限制,接口通过。
2025-11-12 18:01:40
1167
原创 你行你上!MoonBit LOGO 重构有奖征集令
在一些社媒平台上有关心 MoonBit 的社区用户对 MoonBit LOGO 进行批评和调侃。(图源:知乎社区,已打码)当然都不白来,我们准备了丰厚的奖品~MoonBit 原Logo含义诠释:一只充满科技感的带着 VR 眼镜的紫色垂耳兔,兔子耳朵呈现 M 形状,正在月球上用代码构筑未来世界。
2025-11-11 18:27:24
136
原创 MGPIC | 初赛作品提交倒计时4天
随着 2025 MoonBit 全球编程创新挑战赛的临近尾声,我们见证了「程序语言设计与实现赛道」和「游戏开发与设计」两个赛道的激烈竞争。截至目前,「程序语言设计与实现赛道」已有158支队伍报名、「游戏开发与设计」赛道也吸引了163支队伍的报名。编译赛道 开设了10名表现优异奖,奖金为500元(一个队伍),即除去入围决赛的队伍前6名,排行榜的第7-16名队伍都有机会获得此现金奖励~游戏赛道:https://github.com/moonbitlang/MoonBit-Code-JAM-2025。
2025-11-10 18:39:38
331
原创 MoonBit Pearls Vol.14:哈希表避坑指南
哈希表为我们提供了强大的、平均时间复杂度为常数的访问方式——然而,这个"常数"的成立,是建立在一些假设之上的,而这些假设有时会被攻击者打破。一次有针对性的哈希洪泛攻击会迫使许多键进入同一个桶,将O1O(1)O1的操作变成OnO(n)On能非常高效地耗尽系统资源。好消息是,缓解措施既简单又实用:为你的哈希表引入一些不可预测性,当仅靠哈希还不够时使用旁路信息,或者当行为看起来不对劲时重新哈希。有了这些,我们就可以让我们的哈希表既快速又安全。
2025-11-07 10:00:00
1526
原创 招募进行时 | MoonBit AI : 程序语言 & 大模型
它具备自动合成与智能重构能力,能够理解、规划并精准执行开发任务,实现从指令到交付的全流程自动化。它基于自研编程语言 MoonBit,深度融合大模型语义理解与编译器智能,目标是让开发者能用自然语言描述意图,系统即可生成、修复与重构完整软件。同时,MoonBit Pilot 支持高效云端部署,使用户彻底脱离本地编码流程,专注于效果验收与代码审查,实现软件生产力的跃升。,真正实现了工业级软件的自动化开发,依托 MoonBit 的编译工具链与先进的。,已进化为具备状态感知能力的流水线式智能体系统。
2025-11-04 18:01:06
298
原创 月报 Vol.05:alias系统更新,新增 ReadOnlyArray 与 external iterator
版本号 v0.6.30+07d9d2445。
2025-11-03 18:33:01
692
原创 MoonBit 推出 LLVM Debugger,核心用户数破十万
随着 LLVM 后端调试器的推出,MoonBit 实现了原生源码级调试能力,解决了此前依赖 C 代码转换的调试体验问题,为开发者提供了更高效的底层问题定位工具。这一技术突破不仅完善了语言工具链,更通过支持 DWARF 和 CodeView 调试信息,提升了跨平台开发体验。尽管当前对特殊数据结构(如 String 和 FixedArray)的调试支持仍有优化空间,但 LLDB 插件的引入已为调试流程奠定了坚实基础。
2025-10-31 18:13:24
818
原创 MoonBit Pearls Vol.13:使用 MoonBit 开发一个 HTTP 文件服务器
在这篇文章中,我将会介绍如何使用 MoonBit 的异步编程功能和库,编写一个简单的 HTTP 文件服务器。如果你之前接触过 Python 语言,那么你可能知道,Python 有一个非常方便的内建 HTTP 服务器模块。只需要运行,就能在当期文件夹启动一个文件服务器,用于局域网文件共享等用途。在这篇文章中,我们将用 MoonBit 实现一个类似功能的程序,并借此了解 MoonBit 的异步编程支持。
2025-10-29 17:48:37
674
原创 MoonBit Meetup 深圳站 | AI时代下的基础软件的精彩回顾
来自 MoonBit 团队的多位核心工程师,与粤港澳大湾区的开发者们共同探讨了 AI 与基础软件的结合、MoonBit 语言的最新进展 以及 AI 驱动下的未来编程方式。张宏波回顾了 MoonBit 在过去三年中的成长历程——从最初的语言设计、编译器架构,到生态系统的搭建,再到与 AI 的深度融合。随着 async 模块的发布,MoonBit 现已拥有完整的异步编程支持,结合结构化并发的设计理念,让异步代码更易读、更安全。分享中还展示了运行时的架构设计与未来规划,吸引了现场开发者的高度关注。
2025-10-28 17:07:17
274
原创 1024 程序员节|这一行代码,值得被祝贺
当 “1024” 从计算符号变成程序员的节日,键盘声里就有了不一样的热闹。MoonBit 的团队也想在这个属于开发者的日子里,留一点与众不同的纪念 ——不去做喧闹的仪式,也不把它变成另一场任务,而是把这一天交还给写代码的人本身:让你因为一次提交、一次 PR、一次灵光乍现的重构,得到一份轻松的小奖励,一句认真被看见的认可,提醒我们:写代码不是孤单的流程,它理应被庆祝。
2025-10-24 18:53:22
264
原创 倒计时 2 天|Meetup 议题已公开,Copilot 月卡等你来拿!
刘请 MoonBit核心开发工程师近期,MoonBit 发布了异步编程运行时 moonbitlang/async,有了较完整的异步编程支持。moonbitlang/async 的开发者将分享:1. MoonBit 异步编程系统的整体设计和现状2. moonbitlang/async 中的结构化并发设计 3. MoonBit 的异步编程系统的未来规划。
2025-10-23 18:28:04
771
原创 MoonBit Pearls Vol.12:初探 MoonBit 中的 JavaScript 交互
通过本文的探索,我们初步了解了如何在 MoonBit 语言中与 JavaScript 进行交互,从最基础的类型对接到复杂的错误处理,再到外部库的轻松集成。这些功能在 MoonBit 的静态类型系统与作为动态类型语言的 JavaScript 之间架起了一座桥梁,这体现了 MoonBit 作为现代编程语言在跨语言互操作性方面的思考。它让开发者既能享受到 MoonBit 的类型安全与现代化的语言特性,又能无缝访问 JavaScript 的庞大生态,为 MoonBit 拓宽了不可估量的应用前景。
2025-10-23 10:33:43
901
原创 MoonBit 开发者激励计划开启|赢取价值 $20 Copilot 月卡权益!
此外,官方团队推出的智能体库 Maria ,除了完备的 Agentic 范式实现外,还拥有卓越的处理性能, 并且构建产物体积很小,易于分发,用户可以很方便的基于 Maria 开发出自己的 Code Agent 以及各种其他智能体产品。带上你的电脑,在现场完成 MoonBit 编程挑战,还有机会赢取Copilot月度会员!这正是我们推出本次激励计划的初衷——让开发者能够用 AI 辅助的方式,更高效地建设 MoonBit 生态。相比数量堆叠,我们更重视可复用、可维护、可演进的高质量库。
2025-10-20 19:16:52
126
原创 MoonBit Meetup 丨 手把手带你走进 AI 编程新世代
基础软件作为数字基础设施的底座,包罗万象,既需要技术统一性,也必须适应多样化的需求。从服务器到终端设备,从云端推理到本地运行,它们共同构成了 AI 时代最核心的算力与软件支撑层。当智能体、自动化开发与模型推理逐渐融入日常开发流程,编译器、操作系统、数据库、编程语言等传统底层组件,正被重新设计,以支撑面向 AI 的计算与协作模式。除了丰富的技术分享,我们还准备了美食茶歇和精美礼品,让您在轻松愉快的氛围中享受这场技术盛宴。让我们一起体验 AI 赋能下的编程新方式,用 MoonBit 构建属于你的智能代码库。
2025-10-16 12:00:29
263
原创 MGPIC 编译赛道: MiniMoonbit互动式编程教学来啦!
更重要的是——完成这些任务后,你的成果会自动接入 MoonBit全球编程挑战赛 编译赛道评测机,通过即可拿分、优化即可冲榜,但它的开发流程,从词法分析、语法分析,到类型分析、代码生成,再到优化,流程长且复杂,对于还在学习阶段的你来说,是不是感觉无从下手,望而却步?你将通过完成100 个与编译器相关的关卡挑战,从零开始,一步一步搭建起一个迷你的 MoonBit 编译器!往期已有的学习资料我们也为你准备就绪,扫码进群更可以和出题老师在线答疑解惑,扫清你在编译器开发道路上的所有障碍。
2025-10-16 10:15:09
374
原创 月报 Vol.04:新增 async test 与 async fn main 语法,新增 lexmatch 表达式
对应moonc版本:v0.6.29。
2025-10-14 18:38:22
562
原创 MoonBit Pearls Vol.11:正则表达式引擎的两种实现方法:导数与 Thompson 虚拟机
enum Ast {Chr(Char)Opt(Ast)Chr(chr)@fs.Opt(self)Chr(Char)- 匹配单个字符字面量- 序列匹配,即一个模式紧跟另一个模式- 重复匹配,None表示无限次重复,Some(n)表示恰好重复 n 次Opt(Ast)- 可选匹配,相当于标准正则语法中的pattern?举个例子,正则表达式(ab*)?
2025-10-13 13:46:58
322
原创 安装Wasm版的MoonBit工具链
得益于 wasm_of_ocaml 项目,MoonBit 的编译器工具链现在可以被编译为 WebAssembly (Wasm) 文件,并通过一个 Node.js 脚本来启动运行了!本文将手把手指导您如何在任何支持 Node.js 的平台上安装和配置 Wasm 版本的 MoonBit 工具链。
2025-10-10 16:54:30
884
原创 MoonBit高校行 | 中大、深技大、深大、港科广回顾
本次校园行以 MGPIC 大赛 为纽带,围绕 AI 与编程语言的融合创新、开源社区发展 展开交流,分享 MoonBit 在 AI 原生编程与工具链建设方面的最新进展,展示各个开源社区的优秀实践成果。TinyMoonBit 是一种系统级编程语言,其抽象层次与C语言相当,虽然在语法上大量借鉴了 MoonBit 的特性,但并非其子集,而是一个面向教学与功能验证的简化版本,主要用于测试lvm.mbt 的完备性。院长致辞,表达了对MoonBit的认可,鼓励港科广学子学习使用MoonBit,积极参与MGPIC大赛。
2025-10-09 17:40:17
527
原创 MoonBit 异步网络库发布
异步编程指的是编写能够在运行途中中断、同时执行多个任务的程序。典型的例子是一个网络服务器。网络服务器需要同时处理多个连接、服务多个客户。但对于每个连接,大部分的时间会花在等待网络 IO 上,实际进行计算的时间只占一小部分。如果用同步的方式来处理连接,即处理完一个连接再处理下一个,就会花费大量时间在等待上,严重影响性能。如果用异步的方式来编写网络服务器,就能在某个连接等待网络 IO 的时候中断它的运行,切换至其他无需等待的任务进行处理,最大化利用计算资源。
2025-09-28 18:50:58
1337
原创 MoonBit Pearls Vol.10: prettyprinter:使用函数组合解决结构化数据打印问题
本文介绍了如何简单实现一个prettyprinter,使用函数组合的方式来处理结构化数据的打印。通过定义一系列原语和组合函数,我们可以灵活地控制打印格式,并根据屏幕宽度自动调整布局。当前的实现还可以进一步优化,例如通过记忆化space的计算来提高性能。函数可以增加一个ribbon参数,分别统计当前行的空格和其他文本字数,并且在Group的紧凑模式判断中增加额外的条件,来控制每行的信息密度。另外,还可以增加更多的原语来实现悬挂缩进、最小换行数量等功能。对于更多的设计和实现细节感兴趣的读者,可以参考。
2025-09-25 17:48:18
629
原创 MoonBit 高校行 | 港大、哈工大、哈工程站精彩回顾
MoonBit 团队AI 核心工程师祝海林带来的《以 MoonBit 为例,介绍国产编程语言在AI上的结合与探索》,报告聚焦阐述海外及我国目前编程语言发展的现状、及 AI大模型将如何影响编程语言技术乃至基础软件的发展。同时本次活动其他议题有红山开源带来开源历史演进与生态发展现状,自主开源发展的机遇与挑战;的设计理念与技术特点,包括多后端支持(WebAssembly、LLVM/Native、JavaScript)、高效编译与轻量化产物,以及在全栈开发和 AI 驱动编程中的探索实践。的热烈讨论,并为双方在。
2025-09-23 18:54:20
418
原创 MoonBit 三周年 | 用代码写就 AI 时代的语言答卷
三年前的 2022 年 9 月 19 日,MoonBit 正式立项。彼时,我们只有一个愿景:打造一门面向 AI 时代的工业级编程语言与工具链。从零起步的旅程,充满了未知,也充满了可能。当时,我们的选择并不被广泛理解。很多人会问:“为什么要做一门新的语言?这件事根本不赚钱。” 在外界看来,这样的决定既冒险又不合时宜。但我们相信,语言不仅是编程的工具,更是人与 AI、人与复杂软件系统之间的桥梁。带着这样的信念,MoonBit 踏上了这条看似孤独,却至关重要的道路。
2025-09-19 18:25:45
942
原创 MoonBit 正式加入 WebAssembly Component Model 官方文档 !
MoonBit编程语言正式入选WebAssembly组件模型官方文档!
2025-09-16 17:56:42
201
原创 MoonBit 再次走进清华:张宏波受邀参加「思源计划」与「程序设计训练课」
活动中,大家既探讨了产品在 2C 场景中尚需验证的 Product-Market-Fit (PMF) 与 Technology-Product-Fit (TPF),也关注了这些新兴技术如何深刻改变开发者的日常实践与思维方式。“思源计划”是由清华大学党委学生部和校团委共同发起的校级因材施教培养项目,旨在通过跨学科的导师团与系列实践活动,为同学们提供更深的学术指导与成长引领。,更令人印象深刻的是,MoonBit 已经实现了与 AI 的深度结合:现场演示中,AI 能够基于 MoonBit 的工具链。
2025-09-11 18:10:24
332
原创 MoonBit Pearls Vol.09: Mini-adapton: 用 MoonBit 实现增量计算
本文介绍了如何在MoonBit中实现增量计算库,通过类似Excel的依赖图示例展示了增量计算的优势。文章详细分析了三个关键问题:动态构建依赖图、标记过时节点以及判断thunk是否需要重新计算。通过伪代码和图示说明了依赖图的构建过程,并提出了基于脏标记和值变化的增量更新算法。最终给出了Cell和Thunk的类型定义,展示了如何实现基本的增量计算功能。这种实现方式能够有效减少不必要的重复计算,提升计算效率。
2025-09-10 17:45:43
782
原创 MoonBit Pearls Vol.08: MoonBit 与 Python集成指南
摘要 Moonbit推出的python.mbt工具实现了Moonbit与Python的互操作,旨在结合Moonbit的静态类型安全性和Python丰富的生态系统。Python解释器执行代码需经过解析、编译和执行三个阶段,其中执行阶段是性能瓶颈所在。传统优化方法如JIT编译和原生扩展各有局限,而python.mbt通过直接调用CPython C-API,在保持高性能的同时降低了开发者门槛。该工具支持调用已封装的Python库(如matplotlib),并提供了类型安全的接口。与C++/Rust方案相比,pyt
2025-09-02 11:06:02
1206
原创 MoonBit Pearls Vol.08: MoonBit 与 Python集成指南
本文介绍了Moonbit官方推出的python.mbt工具,该工具能够在Moonbit环境中直接调用Python代码,旨在结合Moonbit的静态类型安全、高性能与Python丰富的生态系统。该工具为开发者提供了在Moonbit中利用Python生态的新途径,同时改善了工程化和AI协作能力。
2025-09-02 11:05:05
1142
原创 提交即有奖!MGPIC 游戏赛道官方推荐框架上线,直播同步解读赛题
今年,官方推荐框架Pixel Adventure.mbt , WASM-4 , Selene全面开放,助你快速搭建创意游戏,释放无限想象!✨ 特别福利:所有提交有效作品的参赛者,将直获 中科院软件所「甲辰计划」实习 Mentor Pick 直通卡。首届赛事吸引了 2000+ 顶尖选手、30 所高校参与对决,累计发放 12 万+ 奖金,点燃创新激情。🏆 奖项升级 —— 新增「早鸟奖」「阳光普照奖」「特别单元奖」【月度评选奖】💰 总奖金池高达 12 万元 —— 游戏赛道独享 6 万元。
2025-08-26 12:04:20
296
原创 MoonBit Pearls Vol.07: MoonBit C-FFI 开发指南
这篇文章带你从基本类型,到复杂的结构体类型,再到函数指针类型,梳理了在MoonBit中做C-FFI的流程。末尾讨论了MoonBit管理c对象的GC问题。希望对广大读者的库开发有帮助。
2025-08-26 11:59:01
742
原创 MoonBit Pearls Vol.06: MoonBit 与 LLVM 共舞(下):llvm IR 代码生成
通过本系列的两篇文章,我们完成了一个功能完整的编译器实现。尽管功能简单,但比较完整。从字符流的词法分析,到抽象语法树的构建,再到LLVM IR的生成和机器代码的输出。编译器技术代表了计算机科学理论与工程实践的完美结合。通过MoonBit这一现代化的工具,我们能够以更加优雅和高效的方式探索这个古老而又充满活力的领域。希望本系列文章能够为读者在编译器设计的道路上提供一个有力的帮助。学习资源推荐TinyMoonBit完整项目MoonBit官方文档llvm.mbt文档llvm.mbt项目LLVM官方教程。
2025-08-19 16:25:09
853
原创 MoonBit Perals Vol.06: Moonbit 与 LLVM 共舞 (上):编译前端实现
通过本篇文章,我们深入探讨了编译器前端的完整实现流程。
2025-08-19 16:23:26
865
原创 教程 | 2025MGPIC大赛游戏赛道官方教程
视频教程请见本教程将从头到尾教大家如何使用 Selene 游戏引擎制作一个完整的平台跳跃游戏。通过实际开发过程,学习游戏引擎的核心功能和开发技巧。Selene 引擎是一个使用 MoonBit 开发的开源引擎,主要用于构建小型2D游戏。
2025-08-15 17:34:51
849
原创 量子位 AI 沙龙回顾丨用 MoonBit Pilot 解答 AI Coding 的未来
Windsurf 推出之后,其实Agent的范式基本上就固定下来了。我觉得可能得再过半年、甚至一年,我都不会看到有新的范式会诞生。目前来说Agent的范式,可能就是不断使用工具去完成人类的需求。我现在已经能感受到,未来的发展方向一定是。
2025-08-14 18:25:13
838
原创 MoonBit Perals Vol.05: 函数式里的依赖注入:Reader Monad
普通的函数就像一个流水线,你丢进去一袋面粉,然后直接跑到生产线末端,等着方便面出来。但这条流水线需要自动处理中间的所有复杂情况:没放面粉/“没有下单,期待发货”(null)面团含水量不够把压面机干卡了(抛出异常)配料机需要读取今天的生产配方,比如是红烧牛肉味还是香菇炖鸡味(读取外部配置)流水线末端的打包机需要记录今天打包了多少包(更新计数器)Monad 就是专门管理这条复杂流水线的“总控制系统”。它把你的数据和处理流程的上下文一起打包,确保整个流程能顺畅、安全地进行下去。
2025-08-13 17:44:10
750
原创 MoonBit Perals Vol.05: 函数式里的依赖注入:Reader Monad
普通的函数就像一个流水线,你丢进去一袋面粉,然后直接跑到生产线末端,等着方便面出来。但这条流水线需要自动处理中间的所有复杂情况:没放面粉/“没有下单,期待发货”(null)面团含水量不够把压面机干卡了(抛出异常)配料机需要读取今天的生产配方,比如是红烧牛肉味还是香菇炖鸡味(读取外部配置)流水线末端的打包机需要记录今天打包了多少包(更新计数器)Monad 就是专门管理这条复杂流水线的“总控制系统”。它把你的数据和处理流程的上下文一起打包,确保整个流程能顺畅、安全地进行下去。
2025-08-13 17:42:51
1592
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅