这里是OCaml News,一个整合了OCaml社区以及周边生态最新信息的地方,先前一直在OCaml群内发送零散的信息,太细碎了,于是在此归纳整理,不过这一系列的更新频率是不规律的,并不遵循Weekly之类的频率,而是帖满即发。
总体上每一次更新分为三大类:
- 论坛,即 discuss.ocaml.org 上有趣的新帖子
- 生态,即OCaml本身或周边生态中中出现的新工具,库
- 文章,即OCaml相关的最新论文,博客文章
所以:
??? - 二〇二三年四月二十九日
呼吁新的 opam 存储库维护者
OPAM是OCaml的官方包管理器,它通过opam-repository存储OCaml包,opam-repository由少数人力共同维护,以确保包的时效性、和高质量。OPAM的维护团队正在寻找新的贡献者来帮助他们维护opam-repository。
帮助维护opam-repository并不是OCaml或OPAM方面的专家才能参与。新加入的维护者将从审查和批准对repo的更改开始,经过几周的工作后,你可以决定留下来继续做这份工作,届时将被授予完全访问权限。
论坛原帖:https://discuss.ocaml.org/t/call-for-new-opam-repository-maintainers/12041
Local Type Definition
OCaml目前并不支持类似如下的Local Type Definition:
1 | let f : unit -> unit = |
但可以通过let open一个只有t的module来实现:
1 | let f : unit -> unit = |
其实前者可以当作后者的糖,但目前还没实现,这是相关PR: Add local type definition syntax #12151
论坛原帖:https://discuss.ocaml.org/t/local-type-definition
使用LablGtk3实现的七个GUI示例
行业中存在各种各样不同语言的GUI工具包和各种各样不同的GUI开发方式。7GUIs代表GUI编程中典型的七项任务。
项目页面:https://7guis.github.io/7guis/
使用LablGtk3实现的7GUIs Github连接:https://github.com/F-loyer/7guis-ocaml-lablgtk3
使用Dream编写REST API
这篇文章是使用Dream、Yojson和Caqti的经验之谈,这篇文章的重点不是做出价值判断(X框架好,Y框架不好之类的),而是理解如何将一个工作流程转换为另一个工作流程的概念.