自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(185)
  • 收藏
  • 关注

原创 量子位 AI 沙龙回顾丨用 MoonBit Pilot 解答 AI Coding 的未来

Windsurf 推出之后,其实Agent的范式基本上就固定下来了。我觉得可能得再过半年、甚至一年,我都不会看到有新的范式会诞生。目前来说Agent的范式,可能就是不断使用工具去完成人类的需求。我现在已经能感受到,未来的发展方向一定是。

2025-08-14 18:25:13 607

原创 MoonBit Perals Vol.05: 函数式里的依赖注入:Reader Monad

普通的函数就像一个流水线,你丢进去一袋面粉,然后直接跑到生产线末端,等着方便面出来。但这条流水线需要自动处理中间的所有复杂情况:没放面粉/“没有下单,期待发货”(null)面团含水量不够把压面机干卡了(抛出异常)配料机需要读取今天的生产配方,比如是红烧牛肉味还是香菇炖鸡味(读取外部配置)流水线末端的打包机需要记录今天打包了多少包(更新计数器)Monad 就是专门管理这条复杂流水线的“总控制系统”。它把你的数据和处理流程的上下文一起打包,确保整个流程能顺畅、安全地进行下去。

2025-08-13 17:44:10 658

原创 MoonBit Perals Vol.05: 函数式里的依赖注入:Reader Monad

普通的函数就像一个流水线,你丢进去一袋面粉,然后直接跑到生产线末端,等着方便面出来。但这条流水线需要自动处理中间的所有复杂情况:没放面粉/“没有下单,期待发货”(null)面团含水量不够把压面机干卡了(抛出异常)配料机需要读取今天的生产配方,比如是红烧牛肉味还是香菇炖鸡味(读取外部配置)流水线末端的打包机需要记录今天打包了多少包(更新计数器)Monad 就是专门管理这条复杂流水线的“总控制系统”。它把你的数据和处理流程的上下文一起打包,确保整个流程能顺畅、安全地进行下去。

2025-08-13 17:42:51 539

原创 MoonBit 作者寄语 2025 级清华深圳新生

把个人发展融入国家需求,勇敢追求热爱二十年厚积薄发,MoonBit 月兔平台负责人张宏波寄语清华新生:AI 时代的编程语言革命

2025-08-12 17:42:21 371

原创 MoonBit 作者寄语 2025 级清华深圳新生

把个人发展融入国家需求,勇敢追求热爱

2025-08-12 17:40:47 337

原创 月报 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 808

原创 月报 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 825

原创 MoonBit Pearls Vol.04:用MoonBit 探索协同式编程

在这篇文章中,我们借助 moonchor 体验了协同式编程的魅力,还见识了 MoonBit 强大的表达能力。关于协同式编程的更多细节,可以参考 Haskell 的库HasChorChoral 语言moonchor 的源码。想要自己尝试使用 moonchor,可以通过命令安装。

2025-08-04 18:31:42 1079

原创 MoonBit Pearls Vol.04:用MoonBit 探索协同式编程

在这篇文章中,我们借助 moonchor 体验了协同式编程的魅力,还见识了 MoonBit 强大的表达能力。关于协同式编程的更多细节,可以参考 Haskell 的库HasChorChoral 语言moonchor 的源码。想要自己尝试使用 moonchor,可以通过命令安装。

2025-08-04 18:28:54 640

原创 【MGPIC 2025】MoonBit 2025全球编程创新挑战赛正式开启!

2025 MGPIC moonbit 编程大赛正式官宣!

2025-07-28 14:05:46 79

原创 MoonBit Pearls Vol.03:算法竞赛经典:背包问题

本文介绍了01背包问题的五种解法演变过程

2025-07-23 16:47:14 615

原创 MoonBit Meetup 杭州站丨 探讨AI基础软件的精彩回顾

7 月 19 日,由 IDEA 研究院基础软件中心 MoonBit 与蚂蚁开源联合主办的 “智构基石:AI 时代基础软件的范式革新与生态共建” 技术沙龙在杭州圆满落幕啦。

2025-07-22 18:20:39 547

原创 MoonBit 月报 Vol.01

2025年6月18日发布beta版本之后,Moonbit的语法将会更加稳定,重心会逐步放到性能提升以及生态建设等方面。从本次开始,Moonbit的改动将会以每月一版的节奏发布月报。但月报的主要内容仍以的更新为主。

2025-07-15 19:41:36 406

转载 对话 MoonBit 张宏波 :很多AI Coding只提供情绪价值,而我们要重做一门编程语言

现在加入是一个非常好的时机。MoonBit刚刚进入Beta阶段,生态系统还是一片全新的大陆。

2025-06-25 17:20:07 38

原创 MoonBit Pearls Vol.02:MoonBit 中的面向对象编程

C++的传统OOP:基于继承的"is-a"关系,直观但可能陷入复杂度陷阱Moonbit的现代OOP:基于组合的"has-a"关系,初学稍复杂但长期更优雅更好的类型安全:编译时捕获更多错误更清晰的架构:组合关系比继承关系更容易理解更容易的维护:修改影响范围更可控更少的运行时错误:ADT和模式匹配提供完整性保证尽管我们必须承认,对于小型项目或特定场景,传统继承依然有其价值。但现实情况是,随着软件系统复杂度的增长,Moonbit这种组合优于继承的设计哲学确实展现出了更强的适应性和可维护性。

2025-06-23 18:44:19 944

原创 MoonBit Pearls Vol.02:MoonBit 中的面向对象编程

C++的传统OOP:基于继承的"is-a"关系,直观但可能陷入复杂度陷阱Moonbit的现代OOP:基于组合的"has-a"关系,初学稍复杂但长期更优雅更好的类型安全:编译时捕获更多错误更清晰的架构:组合关系比继承关系更容易理解更容易的维护:修改影响范围更可控更少的运行时错误:ADT和模式匹配提供完整性保证尽管我们必须承认,对于小型项目或特定场景,传统继承依然有其价值。但现实情况是,随着软件系统复杂度的增长,Moonbit这种组合优于继承的设计哲学确实展现出了更强的适应性和可维护性。

2025-06-23 18:37:51 989

原创 MoonBit 双舞台亮相:INNOTECH 创科嘉年华 & GIAC全球互联网架构大会

MoonBit 此次在科技大会上的精彩亮相,展现了国产编程语言的技术实力,更彰显了国内基础软件创新的蓬勃生机。通过深度技术对话,MoonBit与全球顶尖科技人才建立广泛连接,为构建更智能、更高效的开发者生态奠定了坚实基础。值得一提的是 MoonBit 将于本周正式发布 Beta 版本,迈入语言稳定阶段并进入企业应用实践阶段,敬请期待!

2025-06-17 18:36:37 383

原创 双周报Vlo.74:用于表示错误的 ! 语法被替换为关键字 raise、错误多态支持:高阶函数现可接受带错误的回调

raise用于表示错误的!语法被替换为关键字raise上述改动都可以通过格式化代码自动完成迁移type!T ..type!T ..f!(..)f?(..)f!(..)f?(..)!f?(..)try?f?(g!(..))gf?(..)

2025-06-16 18:43:53 527

原创 双周报Vlo.74:用于表示错误的 ! 语法被替换为关键字 raise、错误多态支持:高阶函数现可接受带错误的回调

raise用于表示错误的!语法被替换为关键字raise上述改动都可以通过格式化代码自动完成迁移type!T ..type!T ..f!(..)f?(..)f!(..)f?(..)!f?(..)try?f?(g!(..))gf?(..)

2025-06-16 18:42:09 591

原创 MoonBit Pearls Vol.01:使用MoonBit编写Pratt解析器

上周 MoonBit 社区发起 MoonBit Pearls 高质量文档与示例征集活动,经过精细筛选,本周正式推出"MoonBit Pearls"专栏的首篇入选文章。专栏作为长期知识沉淀平台,持续收录优质文档。我们期待更多开发者参与后续投稿,共同丰富 MoonBit 社区生态。以下是首篇投稿正文内容,作者通过完整案例,演示了如何用 MoonBit 编写 Pratt 解析器:在编译过程中,语法分析(也称为解析,Parsing)是一个关键步骤。解析器的主要职责是将Token流转换成抽象语法树(AST)。

2025-06-11 18:50:09 627

原创 MoonBit Pearls Vol.01:使用MoonBit编写Pratt解析器

上周 MoonBit 社区发起 MoonBit Pearls 高质量文档与示例征集活动,经过精细筛选,本周正式推出"MoonBit Pearls"专栏的首篇入选文章。专栏作为长期知识沉淀平台,持续收录优质文档。我们期待更多开发者参与后续投稿,共同丰富 MoonBit 社区生态。以下是首篇投稿正文内容,作者通过完整案例,演示了如何用 MoonBit 编写 Pratt 解析器:在编译过程中,语法分析(也称为解析,Parsing)是一个关键步骤。解析器的主要职责是将Token流转换成抽象语法树(AST)。

2025-06-11 18:34:58 1095

原创 征文开启|写一篇能跑的文档,赢 MoonBit 周边 & 成为官方示例

MoonBit Pearls 是一个持续更新的开发者专栏,虽然讲的是代码,但追求可读性与思想的优雅,因此被称为“Pearls”(珍珠)。我们相信,当文档真正融入工具链,成为代码的一部分,开发者表达技术的方式也会焕然一新。同时也欢迎你通过其他方式参与 MoonBit 社区建设,积累积分,兑换实物奖励或技术权益,一起打造一个更活跃、更具成长性的开发者生态!:我们将通过人工审核机制,在3–5 个工作日内评估文章质量,例如内容的逻辑清晰、图文并茂、行文风格、技术理解透彻程度等方面。

2025-06-06 18:24:01 886

原创 征文开启|写一篇能跑的文档,赢 MoonBit 周边 & 成为官方示例

MoonBit Pearls 是一个持续更新的开发者专栏,虽然讲的是代码,但追求可读性与思想的优雅,因此被称为“Pearls”(珍珠)。我们相信,当文档真正融入工具链,成为代码的一部分,开发者表达技术的方式也会焕然一新。同时也欢迎你通过其他方式参与 MoonBit 社区建设,积累积分,兑换实物奖励或技术权益,一起打造一个更活跃、更具成长性的开发者生态!:我们将通过人工审核机制,在3–5 个工作日内评估文章质量,例如内容的逻辑清晰、图文并茂、行文风格、技术理解透彻程度等方面。

2025-06-06 18:11:58 639

原创 面向文档编程:MoonBit 的创新开发体验

MoonBit 的面向文档编程重新定义了文档与代码的协作方式,通过 .mbt.md 文件将 Markdown 文档提升为可执行、可验证的开发环境。借助 IDE 的原生支持、工具链的静态分析和 CI 的自动化验证,开发者可以在编写技术博客、API 文档或教程时享受与编码一致的体验,MoonBit 提供了其他语言难以企及的文档编程体验。欢迎尝试去 VSCode 里下载 MoonBit 插件试用 .mbt.md 的 MoonBit 专属文档,体验代码与文档的完美融合!

2025-06-04 13:26:37 1066

原创 面向文档编程:MoonBit 的创新开发体验

MoonBit 的面向文档编程重新定义了文档与代码的协作方式,通过 .mbt.md 文件将 Markdown 文档提升为可执行、可验证的开发环境。借助 IDE 的原生支持、工具链的静态分析和 CI 的自动化验证,开发者可以在编写技术博客、API 文档或教程时享受与编码一致的体验,MoonBit 提供了其他语言难以企及的文档编程体验。欢迎尝试去 VSCode 里下载 MoonBit 插件试用 .mbt.md 的 MoonBit 专属文档,体验代码与文档的完美融合!

2025-06-04 13:12:39 943

原创 双周报Vol.73:移除使用方法实现 trait 、新增了 “错误多态” 功能、.语法支持使用 _ 的匿名函数...

MoonBit语言迎来多项重要更新:调用带副作用的函数可省略!标记,IDE将自动高亮错误与异步调用;f?(..)语法被更灵活的try?替代;新增"错误多态"功能,允许高阶函数同时处理带错误和不带错误的参数;方法定义语法统一为fn T::meth()形式,并支持Self替代类型名;引入_.meth()匿名函数语法,支持在管道运算符中使用。此外还调整了类型参数位置、异步函数语法,并新增Float字面量3.14F。工具链方面,单个.mbt.md文件现在支持声明外部依赖。这些改进旨在提升代码表达

2025-06-03 20:52:53 464

原创 双周报Vol.73:移除使用方法实现 trait 、新增了 “错误多态” 功能、.语法支持使用 _ 的匿名函数...

之前,使用形式定义的方法既是方法也是函数,可以用meth(..)或的形式直接调用。这一 “将方法当作普通函数使用” 的行为将被废弃,目前编译器会对这一行为的使用提出警告。永远使用的形式定义方法,新代码中不再使用(在以后,语法本身也可能被废弃)和某个类型绑定的 API 若无特殊理由,都鼓励设计成方法Self。

2025-06-03 20:51:40 364

原创 推动国产编程语言产学研融合,MoonBit 团队走进中科大、西交大等五所高校

校园行活动的成功举办不仅为高校师生提供与行业专家面对面交流的机会,也为 MoonBit 项目的进一步推广和开源生态的建设奠定坚实的基础。未来,MoonBit 团队将继续致力于推动编程语言技术的普及与发展,助力高校培养更多优秀的创新人才。同时 MoonBit 将继续携手高校,共同探索技术创新与人才培养的新模式,为产业社区注入更多活力与创新力量。

2025-05-30 18:10:11 707

原创 IDEA 编程语言 MoonBit:为 AI 与大型系统而生,无缝调用 Python

引言:MoonBit 正在为开发者提供一种全新的路径:不必舍弃 Python 的生态优势即能获得更严谨智能、适合大型系统与 AI 编程的开发体验。在近二十年的开发实践中,Python 为大量应用领域的开发者打开了技术民主化的大门。Python成功的背后,是一整套逾千万开发者共同维护的应用库和依赖组件经济。其丰富的应用库已全面覆盖各类开发场景和行业需求。工业界也因此对一种新型语言的需求日益迫切:它需要既能兼容 Python 已建立的庞大生态,又具备类型安全、静态分析与高可维护性的现代语言特性。

2025-05-23 17:39:58 980

原创 双周报Vol.72:字段级文档注释支持、视图类型现为值类型,减少内存分配

.

2025-05-19 18:55:16 499

原创 MoonBit 新特性:Virtual Package 虚拟包机制

abort(msg)接口在许多 builtin 数据结构中都有用到,在不满足某些 invariant 的情况下会在运行时失败退出,而按照目前的默认实现,abort 中的 msg 不会输出,用户也较难发现出错的原因。为此,我们可以自定义 abort 的实现,让他打印出 msg(当然,如果你不用 moonrun 以外的运行时运行编译好的 .wasm 的话),做法如下:首先执行// 这个包给 moonbitlang/core/abort 这个 virtual package 提供了一份自定义实现。

2025-05-16 18:46:14 1179

原创 插件双更新:LeetCode 刷题支持正式上线,JetBrains IDE 插件持续升级!

借助 MoonBit 的 JavaScript 后端能力,MoonBit 社区用户(A-23187)开发了一款轻量级的 [Tampermonkey 脚本] 插件,为 LeetCode 编辑器新增了对 MoonBit 语言的支持。这项能力依托 MoonBit 在 2024 年完成的 JS 后端,运行效率可达原生 JavaScript 的 8 倍以上,结合 MoonBit 多后端设计,轻松完成从语法到执行的桥接。S 全屏播放 full_screen_mv。leetcode 视频。✅ 持续更新迭代中!

2025-05-15 16:27:51 431

原创 开源之夏 2025 正式开启!快来与 MoonBit 一起共筑编程未来!

作为 AI 时代新一代编程语言 MoonBit 的官方代表,你将立足所在区域(高校、技术社区或城市),最大化发挥你的影响力——推广 MoonBit 的技术理念、激活区域开发者群体、引领高质量的技术交流与共创。开源之夏是由中国科学院软件研究所 “开源软件供应链点亮计划” 发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。希望通过这个活动,能认识优秀的年轻开发者们,与你一起探索更多的可能性。

2025-05-12 10:31:05 560

原创 开源之夏 2025 正式开启!快来与 MoonBit 一起共筑编程未来!

作为 AI 时代新一代编程语言 MoonBit 的官方代表,你将立足所在区域(高校、技术社区或城市),最大化发挥你的影响力——推广 MoonBit 的技术理念、激活区域开发者群体、引领高质量的技术交流与共创。开源之夏是由中国科学院软件研究所 “开源软件供应链点亮计划” 发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。希望通过这个活动,能认识优秀的年轻开发者们,与你一起探索更多的可能性。

2025-05-12 10:29:58 490

原创 MoonBit 重磅亮相美国,受邀发表主旨演讲!

Lambda Conference 成立于 2014 年,为专注于函数式编程及其相关技术的国际知名会议,由美国科罗拉多州的技术社区发起,旨在为函数式编程的实践者和爱好者提供高质量的知识分享平台。Lambda Conference 涵盖函数式编程理论,以及其在不同领域的应用,包括并发、分布式系统、机器学习、Web 开发等,吸引全球知名技术专家、研究人员和企业技术负责人出席参与,被视为全球性编程盛会。2025 年,MoonBit 将持续完善异步编程的语言特性与生态建设,助力全球开发者高效构建复杂的异步应用。

2025-05-09 10:31:17 330

原创 双周报Vol.71: Trait 的实现方式将发生改动、允许使用 _ 作为待定参数占位符、移除了所有 pragmas

【Breaking Change】:Trait 实现方式将发生改动· 允许用 _ 作为待定参数占位符以简化匿名函数的创建· fnalias 支持给类型和 trait 的方法创建别名· moon 支持 bench 子命令,用于执行基准性能测试。

2025-05-07 10:38:33 281

原创 双周报Vol.71: Trait 的实现方式将发生改动、允许使用 _ 作为待定参数占位符、移除了所有 pragmas

【Breaking Change】:Trait 实现方式将发生改动· 允许用 _ 作为待定参数占位符以简化匿名函数的创建· fnalias 支持给类型和 trait 的方法创建别名· moon 支持 bench 子命令,用于执行基准性能测试。

2025-05-07 10:36:40 311

原创 MoonBit支持国产芯片开发--性能媲美C

MoonBit支持国产芯片开发--性能媲美C

2025-04-30 18:30:09 921

原创 MoonBit 成都之行圆满收官,见证基础软件新生力量

不仅如此,还在现场进行了生动的演示,直观地展现了 AIPC 智能引擎在实际运行中所具备的快速响应能力和精准决策能力,为在场听众呈现了智能操作系统领域的前沿探索与实践成果。报告指出MoonBit专为云计算和边缘计算设计,具有多后端编译的核心优势,例如在语言设计上,MoonBit融合了函数式与命令式范式,提供强类型系统、模式匹配和垃圾回收机制,大大简化了开发门槛,致力于成为AI时代的高效基础设施,推动云边端一体化创新。这场跨越高校、产业与社区的科技盛宴,搭建起了西南开发者生态的桥梁。

2025-04-29 10:15:43 953

原创 双周报Vol.70: 运算符重载语义变化、String API 改动、IDE Markdown 格式支持优化...多项更新升级!

async 函数的调用处语法改为和 error 相同的f!(..),原语法f!!(..)将触发警告运算符重载的语义从基于方法迁移到了基于trait,以后重载运算符需要通过给中对应的trait添加impl的形式。各个运算符对应的trait可以参考语言文档和中的。op_xxxtraitimpltraittraitop_xxxtrait在trait定义中,在方法声明后新增了一个= _的标记,用于标记traita. 如果一个方法有= _的标记,它必须有对应的默认实现。反之,如果一个方法有默认实现但没有= _

2025-04-22 16:11:47 837

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除