arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1305.4584cs.PL
收藏

使用Guix进行功能包管理

Functional Package Management with Guix

Ludovic Courtès

摘要:

我们描述了GNU Guix的设计和实现,这是一个纯粹的功能包管理器,旨在支持完整的GNU/Linux发行版。Guix支持事务升级和回滚、无特权包管理、每个用户简档和垃圾回收。它建立在Nix包管理器的低级构建和部署层之上。Guix使用Scheme作为其编程接口。特别是,我们设计了一个嵌入式领域特定的语言(EDSL)来描述和组合包。我们演示了它如何使我们受益于主机通用程序设计语言,同时不影响表达能力。其次,我们展示了使用Scheme来编写构建程序,从而形成“两层”编程系统。

英文摘要:

We describe the design and implementation of GNU Guix, a purely functional package manager designed to support a complete GNU/Linux distribution. Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. It builds upon the low-level build and deployment layer of the Nix package manager. Guix uses Scheme as its programming interface. In particular, we devise an embedded domain-specific language (EDSL) to describe and compose packages. We demonstrate how it allows us to benefit from the host general-purpose programming language while not compromising on expressiveness. Second, we show the use of Scheme to write build programs, leading to "two-tier" programming system.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑