Haskell Foundation 技术领导委员会发布 Haskell 生态技术愿景
A technical vision for the Haskell ecosystem
Haskell Foundation 技术领导委员会正式启动,并公布 Haskell 生态技术愿景,目标包括将 GHC 自身 CI 的 6 小时周转时间缩短至 2 小时,并打造编程语言生态中最佳的入门体验。
大家好,
Haskell Foundation 的技术领导委员会已成功组建!
过去几周我们一直在讨论我们的愿景和战略,现在已全面投入运作。
我们将积极制定我们认为需要资金和执行的各种倡议和提案。为此,我们需要公司、承包商和志愿者的帮助。每个人都可以参与,无论是非正式地提出想法、自己撰写具体提案,还是寻找能够支持或资助各项倡议的实体。
我们尽量让社区提案流程保持轻量。不过,我们认为公平和参与至关重要,尤其是在涉及资金时,因此任何撰写提案的人都应知悉,我们会开放平台供社区发表评论,甚至提交反提案。随着我们积累经验和获得反馈,该流程可能会不断演进。
以下是我们的愿景。欢迎随时与我们联系!
TLC 的共同愿景
我们相信 Haskell 非常出色,能够为每个人提供独特的价值,因为它处于人类技艺与机器自动化的一个有趣交汇点:
- 它适合人类手写:类型安全、强大的抽象和引用透明性,使世界各地初创公司和大科技企业的工程师能够交付并维护复杂系统。
- 它适合负责任的 AI 工作流:审查是现代 AI 工作流中的一个重大瓶颈,而 Haskell 的优势极大地有利于审查者。此外,能够快速设计 eDSL 并在关键之处表达约束,使得可以为代码生成设置强有力的护栏,同时不失去灵活性。
也许有更适合形式验证或 vibecoding 的语言,但没有比 Haskell 更适合“human in the loop”的语言。Haskell 是我们保持对工作掌控、构建机构知识并负责任地交付的地方。
我们致力于为所有人改进 Haskell:
- 初学者:入门体验必须成为我们可用性的基准
- 专家:支持高级工作流并提高生产力
- 行业:专注于稳定性和扩展性
关于生产力的愿景
想象一下,Haskell 拥有 golang 的迭代速度、C# 的调试能力和 rust 的入门体验。同时还能提供更强的保证和更好的性能!
迭代速度
现代工作流需要快速的迭代时间:编译、交互式 repl、远程依赖缓存、CI 和测试集成。所有这些都会影响人类和机器的工作流。
虽然 Haskell 在代码复杂度方面扩展性良好……但在构建时间方面扩展性不佳。例如,GHC 自身的 CI 周转时间为 6 小时。我们希望将其降至 2 小时。
调试与性能分析
与其无助地将日志和二进制文件倾倒进 LLM 聊天中,我们设想的是确定性工具,能够进行精确且符合人体工程学的查询:
- 实时单步调试
- 真正有用的堆栈跟踪
- 美观的性能分析报告
而且所有这些都可以在你的编辑器/IDE 中实现,也可以通过强大的 CLI 和脚本接口实现,后者既能赋能高级用户,也能支持 LLM 驱动的调试(原生支持,无需任何像 MCP 这样的自定义适配器)。
调试必须再次变得有趣,而不必在代码库中到处散落 Debug.Trace.trace。
文档和交互式探索将帮助新手理解惰性求值和 GHC 的所有注意事项,并应清楚地解释如何利用这些工具。
入门与开发者体验
在这个挫折容忍度极低的时代,我们将打造编程语言生态系统中最佳的入门体验,因为这是衡量整体开发者体验的终极基准。
- 安装速度快到让你怀疑安装程序是否真的运行过
- 文档全面且易于获取,让你永远不会卡住
- 工具直观易用,让你不必频繁寻求支持
只有我们坚持 Unix 原则才能做到这一点,我们将其总结为:
- 编写只做一件事并把它做好的程序
- 编写协同工作的程序
- 编写可扩展的程序
文档应该读起来令人愉悦,由人编写,为人服务。
一个安全可信生态系统的愿景
安全与信任不会偶然建立。一旦失去信任,往往就无法挽回。
为了保护我们的社区资产和声誉,我们需要:
- 在语言生态系统中拥有最快的应急响应时间
- 定期让渗透测试人员检查我们的基础设施
- 让最终用户了解漏洞和缓解措施
- 构建强大的密码学库栈
- 加固我们的供应链
我们应进一步支持利用或扩展 Haskell 语言优势的尝试,以推动安全设计和架构的实际应用,例如信息流控制或强制访问控制。我们也在关注 依赖类型 和 liquidhaskell 的努力。
一个稳定性的愿景
如果我们能用最新的 GHC 编译 10 年前的 Haskell 软件,而无需任何源代码更改,那会怎样?
虽然这似乎是一个不可能实现的目标……但踏上这段旅程无论如何都会让我们更接近一个健壮、稳定且可预测的生态系统。
在此过程中我们需要回答的问题是:
- 用户如何选择退出破坏性变更?
- 我们能将支持窗口保持开放多久?
- 我们如何改善升级体验?
这不仅需要对 GHC 和核心工具进行投资,还可能支持社区维护稳定包集或协调生态系统升级的努力,使 cabal 在复杂用例中更符合人体工程学,带头并支持稳定性政策,并收集关于生态系统中哪些部分导致流失的数据。
我们希望 Haskell 不仅成为快速发展的初创公司的选择,也成为不希望其工作流程或软件栈被打乱的大型或保守公司的选择。稳定性将使这两类用户受益,降低成本与摩擦,并为 Haskell 树立作为具有可预测生态系统的现代语言的声誉。
一个繁荣开源生态系统的愿景
以上所有内容都是为了支持我们所热爱的 Haskell 开源生态系统。我们致力于开源、其价值观及其社交层面。协作是我们相互接触和启发的方式。
我们希望赋能所有维护者和志愿者,他们让这个生态系统保持活力,其中许多人默默无闻,在世界另一端的周六晚上尽自己的一份力量。
我们编程是因为我们热爱交付产品。但我们也编程,是因为我们想要社交、结识他人并享受美好时光。我们致力于这两个价值观。
来源:Hacker News · discourse.haskell.org