给 Rust 用户的 Gleam 试用报告
来源:nchagnet.eu — 2026-11-08
📋 概述
作者长期只用 Rust 写业余项目,试了 Gleam 之后觉得同样顺手:语法极简、变量不可变、错误是普通值、类型没有方法所以全靠 |> 管道,他估计自己八成代码搜替一下就能在两种语言间移植。文章重点讲三个「吉祥物特性」:管道、use 语法糖(把最后一个参数是回调的嵌套展开成顺序代码)与尾调用优化(Gleam 没有循环,递归不 TCO 就会吃光堆)。缺点也摆出来:生态小、没有宏与柯里化、BEAM 缺少大厂背书。
🔑 核心要点
- Gleam 同时编译到 BEAM 与 JavaScript,能直接调用 Erlang、Elixir、JS 的既有代码
- use param <- some_func(arg) 等价于把回调作为最后一个参数传入,专治回调金字塔
- Gleam 里没有循环,复杂迭代只能递归,所以 TCO 是语言可用的前提而非可选优化
- 因为 |> 填第一个参数而 use 填最后一个参数,两种链式写法的嵌套方向正好相反
- 作者真正的顾虑:生态年轻、缺宏与柯里化、以及没有 Mozilla/Google 级别的公司在后面推
💡 金句
用了一阵子之后,它感觉像 Rust 里所有函数式的部分,少了几个,而且完全不剩命令式的部分。
👍 0
👎 0
← 返回 Lobsters 首页