- 博客(195)
- 收藏
- 关注
原创 MoonBit 再次走进清华:张宏波受邀参加「思源计划」与「程序设计训练课」
活动中,大家既探讨了产品在 2C 场景中尚需验证的 Product-Market-Fit (PMF) 与 Technology-Product-Fit (TPF),也关注了这些新兴技术如何深刻改变开发者的日常实践与思维方式。“思源计划”是由清华大学党委学生部和校团委共同发起的校级因材施教培养项目,旨在通过跨学科的导师团与系列实践活动,为同学们提供更深的学术指导与成长引领。,更令人印象深刻的是,MoonBit 已经实现了与 AI 的深度结合:现场演示中,AI 能够基于 MoonBit 的工具链。
2025-09-11 18:10:24
277
原创 MoonBit Pearls Vol.09: Mini-adapton: 用 MoonBit 实现增量计算
本文介绍了如何在MoonBit中实现增量计算库,通过类似Excel的依赖图示例展示了增量计算的优势。文章详细分析了三个关键问题:动态构建依赖图、标记过时节点以及判断thunk是否需要重新计算。通过伪代码和图示说明了依赖图的构建过程,并提出了基于脏标记和值变化的增量更新算法。最终给出了Cell和Thunk的类型定义,展示了如何实现基本的增量计算功能。这种实现方式能够有效减少不必要的重复计算,提升计算效率。
2025-09-10 17:45:43
744
原创 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
813
原创 MoonBit Pearls Vol.08: MoonBit 与 Python集成指南
本文介绍了Moonbit官方推出的python.mbt工具,该工具能够在Moonbit环境中直接调用Python代码,旨在结合Moonbit的静态类型安全、高性能与Python丰富的生态系统。该工具为开发者提供了在Moonbit中利用Python生态的新途径,同时改善了工程化和AI协作能力。
2025-09-02 11:05:05
1092
原创 提交即有奖!MGPIC 游戏赛道官方推荐框架上线,直播同步解读赛题
今年,官方推荐框架Pixel Adventure.mbt , WASM-4 , Selene全面开放,助你快速搭建创意游戏,释放无限想象!✨ 特别福利:所有提交有效作品的参赛者,将直获 中科院软件所「甲辰计划」实习 Mentor Pick 直通卡。首届赛事吸引了 2000+ 顶尖选手、30 所高校参与对决,累计发放 12 万+ 奖金,点燃创新激情。🏆 奖项升级 —— 新增「早鸟奖」「阳光普照奖」「特别单元奖」【月度评选奖】💰 总奖金池高达 12 万元 —— 游戏赛道独享 6 万元。
2025-08-26 12:04:20
274
原创 MoonBit Pearls Vol.07: MoonBit C-FFI 开发指南
这篇文章带你从基本类型,到复杂的结构体类型,再到函数指针类型,梳理了在MoonBit中做C-FFI的流程。末尾讨论了MoonBit管理c对象的GC问题。希望对广大读者的库开发有帮助。
2025-08-26 11:59:01
669
原创 MoonBit Pearls Vol.06: MoonBit 与 LLVM 共舞(下):llvm IR 代码生成
通过本系列的两篇文章,我们完成了一个功能完整的编译器实现。尽管功能简单,但比较完整。从字符流的词法分析,到抽象语法树的构建,再到LLVM IR的生成和机器代码的输出。编译器技术代表了计算机科学理论与工程实践的完美结合。通过MoonBit这一现代化的工具,我们能够以更加优雅和高效的方式探索这个古老而又充满活力的领域。希望本系列文章能够为读者在编译器设计的道路上提供一个有力的帮助。学习资源推荐TinyMoonBit完整项目MoonBit官方文档llvm.mbt文档llvm.mbt项目LLVM官方教程。
2025-08-19 16:25:09
806
原创 MoonBit Perals Vol.06: Moonbit 与 LLVM 共舞 (上):编译前端实现
通过本篇文章,我们深入探讨了编译器前端的完整实现流程。
2025-08-19 16:23:26
814
原创 教程 | 2025MGPIC大赛游戏赛道官方教程
视频教程请见本教程将从头到尾教大家如何使用 Selene 游戏引擎制作一个完整的平台跳跃游戏。通过实际开发过程,学习游戏引擎的核心功能和开发技巧。Selene 引擎是一个使用 MoonBit 开发的开源引擎,主要用于构建小型2D游戏。
2025-08-15 17:34:51
799
原创 量子位 AI 沙龙回顾丨用 MoonBit Pilot 解答 AI Coding 的未来
Windsurf 推出之后,其实Agent的范式基本上就固定下来了。我觉得可能得再过半年、甚至一年,我都不会看到有新的范式会诞生。目前来说Agent的范式,可能就是不断使用工具去完成人类的需求。我现在已经能感受到,未来的发展方向一定是。
2025-08-14 18:25:13
812
原创 MoonBit Perals Vol.05: 函数式里的依赖注入:Reader Monad
普通的函数就像一个流水线,你丢进去一袋面粉,然后直接跑到生产线末端,等着方便面出来。但这条流水线需要自动处理中间的所有复杂情况:没放面粉/“没有下单,期待发货”(null)面团含水量不够把压面机干卡了(抛出异常)配料机需要读取今天的生产配方,比如是红烧牛肉味还是香菇炖鸡味(读取外部配置)流水线末端的打包机需要记录今天打包了多少包(更新计数器)Monad 就是专门管理这条复杂流水线的“总控制系统”。它把你的数据和处理流程的上下文一起打包,确保整个流程能顺畅、安全地进行下去。
2025-08-13 17:44:10
737
原创 MoonBit Perals Vol.05: 函数式里的依赖注入:Reader Monad
普通的函数就像一个流水线,你丢进去一袋面粉,然后直接跑到生产线末端,等着方便面出来。但这条流水线需要自动处理中间的所有复杂情况:没放面粉/“没有下单,期待发货”(null)面团含水量不够把压面机干卡了(抛出异常)配料机需要读取今天的生产配方,比如是红烧牛肉味还是香菇炖鸡味(读取外部配置)流水线末端的打包机需要记录今天打包了多少包(更新计数器)Monad 就是专门管理这条复杂流水线的“总控制系统”。它把你的数据和处理流程的上下文一起打包,确保整个流程能顺畅、安全地进行下去。
2025-08-13 17:42:51
1566
原创 MoonBit 作者寄语 2025 级清华深圳新生
把个人发展融入国家需求,勇敢追求热爱二十年厚积薄发,MoonBit 月兔平台负责人张宏波寄语清华新生:AI 时代的编程语言革命
2025-08-12 17:42:21
444
原创 月报 Vol.02:新增条件编译属性 cfg、#alias属性、defer表达式,增加 tuple struct 支持
新增条件编译属性 cfg。可以根据后端等条件进行文件内的条件编译。新增#alias属性,目前可以给方法或函数创建别名,并支持标注废弃。后续支持更多场景。新增defer表达式。提供了一个基于词法作用域的资源清理功能。当程序以任何方式离开中的body时,expr都会被运行目前,defer expr的expr里不能抛出错误或调用async函数。expr里不能使用returnbreakcontinue等控制流跳转构造Native 后端的Bytes的末尾现在永远会有一个额外的'\0'字节,因此现在Bytes。
2025-08-11 19:12:26
818
原创 月报 Vol.02:新增条件编译属性 cfg、#alias属性、defer表达式,增加 tuple struct 支持
当 tuple struct 中类型数量为 1 个的时候,tuple struct 等价于原有的 newtype。因此,当 newtype 的 underlying type 不是 tuple 的时候,formatter 目前会自动将旧语法迁移至新语法。调整可选参数的语法,默认参数现在可以依赖前面的参数(之前这一行为被废弃了,因为它和 virtual package 不兼容,但现在我们找到了在兼容 virtual package 的前提下支持这种复杂默认值的方式)。目前保留的格式参数为每个字段的。
2025-08-11 19:09:38
846
原创 MoonBit Pearls Vol.04:用MoonBit 探索协同式编程
在这篇文章中,我们借助 moonchor 体验了协同式编程的魅力,还见识了 MoonBit 强大的表达能力。关于协同式编程的更多细节,可以参考 Haskell 的库HasChorChoral 语言moonchor 的源码。想要自己尝试使用 moonchor,可以通过命令安装。
2025-08-04 18:31:42
1104
原创 MoonBit Pearls Vol.04:用MoonBit 探索协同式编程
在这篇文章中,我们借助 moonchor 体验了协同式编程的魅力,还见识了 MoonBit 强大的表达能力。关于协同式编程的更多细节,可以参考 Haskell 的库HasChorChoral 语言moonchor 的源码。想要自己尝试使用 moonchor,可以通过命令安装。
2025-08-04 18:28:54
665
原创 MoonBit Meetup 杭州站丨 探讨AI基础软件的精彩回顾
7 月 19 日,由 IDEA 研究院基础软件中心 MoonBit 与蚂蚁开源联合主办的 “智构基石:AI 时代基础软件的范式革新与生态共建” 技术沙龙在杭州圆满落幕啦。
2025-07-22 18:20:39
559
原创 MoonBit 月报 Vol.01
2025年6月18日发布beta版本之后,Moonbit的语法将会更加稳定,重心会逐步放到性能提升以及生态建设等方面。从本次开始,Moonbit的改动将会以每月一版的节奏发布月报。但月报的主要内容仍以的更新为主。
2025-07-15 19:41:36
426
转载 对话 MoonBit 张宏波 :很多AI Coding只提供情绪价值,而我们要重做一门编程语言
现在加入是一个非常好的时机。MoonBit刚刚进入Beta阶段,生态系统还是一片全新的大陆。
2025-06-25 17:20:07
50
原创 MoonBit Pearls Vol.02:MoonBit 中的面向对象编程
C++的传统OOP:基于继承的"is-a"关系,直观但可能陷入复杂度陷阱Moonbit的现代OOP:基于组合的"has-a"关系,初学稍复杂但长期更优雅更好的类型安全:编译时捕获更多错误更清晰的架构:组合关系比继承关系更容易理解更容易的维护:修改影响范围更可控更少的运行时错误:ADT和模式匹配提供完整性保证尽管我们必须承认,对于小型项目或特定场景,传统继承依然有其价值。但现实情况是,随着软件系统复杂度的增长,Moonbit这种组合优于继承的设计哲学确实展现出了更强的适应性和可维护性。
2025-06-23 18:44:19
963
原创 MoonBit Pearls Vol.02:MoonBit 中的面向对象编程
C++的传统OOP:基于继承的"is-a"关系,直观但可能陷入复杂度陷阱Moonbit的现代OOP:基于组合的"has-a"关系,初学稍复杂但长期更优雅更好的类型安全:编译时捕获更多错误更清晰的架构:组合关系比继承关系更容易理解更容易的维护:修改影响范围更可控更少的运行时错误:ADT和模式匹配提供完整性保证尽管我们必须承认,对于小型项目或特定场景,传统继承依然有其价值。但现实情况是,随着软件系统复杂度的增长,Moonbit这种组合优于继承的设计哲学确实展现出了更强的适应性和可维护性。
2025-06-23 18:37:51
1003
原创 MoonBit 双舞台亮相:INNOTECH 创科嘉年华 & GIAC全球互联网架构大会
MoonBit 此次在科技大会上的精彩亮相,展现了国产编程语言的技术实力,更彰显了国内基础软件创新的蓬勃生机。通过深度技术对话,MoonBit与全球顶尖科技人才建立广泛连接,为构建更智能、更高效的开发者生态奠定了坚实基础。值得一提的是 MoonBit 将于本周正式发布 Beta 版本,迈入语言稳定阶段并进入企业应用实践阶段,敬请期待!
2025-06-17 18:36:37
393
原创 双周报Vlo.74:用于表示错误的 ! 语法被替换为关键字 raise、错误多态支持:高阶函数现可接受带错误的回调
raise用于表示错误的!语法被替换为关键字raise上述改动都可以通过格式化代码自动完成迁移type!T ..type!T ..f!(..)f?(..)f!(..)f?(..)!f?(..)try?f?(g!(..))gf?(..)
2025-06-16 18:43:53
541
原创 双周报Vlo.74:用于表示错误的 ! 语法被替换为关键字 raise、错误多态支持:高阶函数现可接受带错误的回调
raise用于表示错误的!语法被替换为关键字raise上述改动都可以通过格式化代码自动完成迁移type!T ..type!T ..f!(..)f?(..)f!(..)f?(..)!f?(..)try?f?(g!(..))gf?(..)
2025-06-16 18:42:09
601
原创 MoonBit Pearls Vol.01:使用MoonBit编写Pratt解析器
上周 MoonBit 社区发起 MoonBit Pearls 高质量文档与示例征集活动,经过精细筛选,本周正式推出"MoonBit Pearls"专栏的首篇入选文章。专栏作为长期知识沉淀平台,持续收录优质文档。我们期待更多开发者参与后续投稿,共同丰富 MoonBit 社区生态。以下是首篇投稿正文内容,作者通过完整案例,演示了如何用 MoonBit 编写 Pratt 解析器:在编译过程中,语法分析(也称为解析,Parsing)是一个关键步骤。解析器的主要职责是将Token流转换成抽象语法树(AST)。
2025-06-11 18:50:09
655
原创 MoonBit Pearls Vol.01:使用MoonBit编写Pratt解析器
上周 MoonBit 社区发起 MoonBit Pearls 高质量文档与示例征集活动,经过精细筛选,本周正式推出"MoonBit Pearls"专栏的首篇入选文章。专栏作为长期知识沉淀平台,持续收录优质文档。我们期待更多开发者参与后续投稿,共同丰富 MoonBit 社区生态。以下是首篇投稿正文内容,作者通过完整案例,演示了如何用 MoonBit 编写 Pratt 解析器:在编译过程中,语法分析(也称为解析,Parsing)是一个关键步骤。解析器的主要职责是将Token流转换成抽象语法树(AST)。
2025-06-11 18:34:58
1107
原创 征文开启|写一篇能跑的文档,赢 MoonBit 周边 & 成为官方示例
MoonBit Pearls 是一个持续更新的开发者专栏,虽然讲的是代码,但追求可读性与思想的优雅,因此被称为“Pearls”(珍珠)。我们相信,当文档真正融入工具链,成为代码的一部分,开发者表达技术的方式也会焕然一新。同时也欢迎你通过其他方式参与 MoonBit 社区建设,积累积分,兑换实物奖励或技术权益,一起打造一个更活跃、更具成长性的开发者生态!:我们将通过人工审核机制,在3–5 个工作日内评估文章质量,例如内容的逻辑清晰、图文并茂、行文风格、技术理解透彻程度等方面。
2025-06-06 18:24:01
890
原创 征文开启|写一篇能跑的文档,赢 MoonBit 周边 & 成为官方示例
MoonBit Pearls 是一个持续更新的开发者专栏,虽然讲的是代码,但追求可读性与思想的优雅,因此被称为“Pearls”(珍珠)。我们相信,当文档真正融入工具链,成为代码的一部分,开发者表达技术的方式也会焕然一新。同时也欢迎你通过其他方式参与 MoonBit 社区建设,积累积分,兑换实物奖励或技术权益,一起打造一个更活跃、更具成长性的开发者生态!:我们将通过人工审核机制,在3–5 个工作日内评估文章质量,例如内容的逻辑清晰、图文并茂、行文风格、技术理解透彻程度等方面。
2025-06-06 18:11:58
647
原创 面向文档编程:MoonBit 的创新开发体验
MoonBit 的面向文档编程重新定义了文档与代码的协作方式,通过 .mbt.md 文件将 Markdown 文档提升为可执行、可验证的开发环境。借助 IDE 的原生支持、工具链的静态分析和 CI 的自动化验证,开发者可以在编写技术博客、API 文档或教程时享受与编码一致的体验,MoonBit 提供了其他语言难以企及的文档编程体验。欢迎尝试去 VSCode 里下载 MoonBit 插件试用 .mbt.md 的 MoonBit 专属文档,体验代码与文档的完美融合!
2025-06-04 13:26:37
1079
原创 面向文档编程:MoonBit 的创新开发体验
MoonBit 的面向文档编程重新定义了文档与代码的协作方式,通过 .mbt.md 文件将 Markdown 文档提升为可执行、可验证的开发环境。借助 IDE 的原生支持、工具链的静态分析和 CI 的自动化验证,开发者可以在编写技术博客、API 文档或教程时享受与编码一致的体验,MoonBit 提供了其他语言难以企及的文档编程体验。欢迎尝试去 VSCode 里下载 MoonBit 插件试用 .mbt.md 的 MoonBit 专属文档,体验代码与文档的完美融合!
2025-06-04 13:12:39
970
原创 双周报Vol.73:移除使用方法实现 trait 、新增了 “错误多态” 功能、.语法支持使用 _ 的匿名函数...
MoonBit语言迎来多项重要更新:调用带副作用的函数可省略!标记,IDE将自动高亮错误与异步调用;f?(..)语法被更灵活的try?替代;新增"错误多态"功能,允许高阶函数同时处理带错误和不带错误的参数;方法定义语法统一为fn T::meth()形式,并支持Self替代类型名;引入_.meth()匿名函数语法,支持在管道运算符中使用。此外还调整了类型参数位置、异步函数语法,并新增Float字面量3.14F。工具链方面,单个.mbt.md文件现在支持声明外部依赖。这些改进旨在提升代码表达
2025-06-03 20:52:53
472
原创 双周报Vol.73:移除使用方法实现 trait 、新增了 “错误多态” 功能、.语法支持使用 _ 的匿名函数...
之前,使用形式定义的方法既是方法也是函数,可以用meth(..)或的形式直接调用。这一 “将方法当作普通函数使用” 的行为将被废弃,目前编译器会对这一行为的使用提出警告。永远使用的形式定义方法,新代码中不再使用(在以后,语法本身也可能被废弃)和某个类型绑定的 API 若无特殊理由,都鼓励设计成方法Self。
2025-06-03 20:51:40
370
原创 推动国产编程语言产学研融合,MoonBit 团队走进中科大、西交大等五所高校
校园行活动的成功举办不仅为高校师生提供与行业专家面对面交流的机会,也为 MoonBit 项目的进一步推广和开源生态的建设奠定坚实的基础。未来,MoonBit 团队将继续致力于推动编程语言技术的普及与发展,助力高校培养更多优秀的创新人才。同时 MoonBit 将继续携手高校,共同探索技术创新与人才培养的新模式,为产业社区注入更多活力与创新力量。
2025-05-30 18:10:11
718
原创 IDEA 编程语言 MoonBit:为 AI 与大型系统而生,无缝调用 Python
引言:MoonBit 正在为开发者提供一种全新的路径:不必舍弃 Python 的生态优势即能获得更严谨智能、适合大型系统与 AI 编程的开发体验。在近二十年的开发实践中,Python 为大量应用领域的开发者打开了技术民主化的大门。Python成功的背后,是一整套逾千万开发者共同维护的应用库和依赖组件经济。其丰富的应用库已全面覆盖各类开发场景和行业需求。工业界也因此对一种新型语言的需求日益迫切:它需要既能兼容 Python 已建立的庞大生态,又具备类型安全、静态分析与高可维护性的现代语言特性。
2025-05-23 17:39:58
999
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人