Skip to content

Conversation

@clsty
Copy link
Contributor

@clsty clsty commented Oct 22, 2025

此为应 @ryan4yin 邀请大幅修改 Nix 语言快速入门工程的第六部分,范围是从开头到结尾。

本次所做修改如下:

  • 将函数相关的合并为一大节,并做大幅修改。
  • 大幅修改函数库一节,并在其中添加 pkgs.lib 小节(主要来自 nix.dev 的 language basics)
  • 一些小修正

注:Nix language basics — nix.dev documentation 另有 Impurities 与 Derivations 两大节,以及几个附加小节(Worked examples、References、Next steps),我后续可能视情况添加到本文中,但不作为本工程的主体,而且预计至少这几个月内是不会更新的。(本工程不是对 nix.dev 的直接翻译,无法直接使用大模型完成。)

此 PR 合并之后,“大幅修改 Nix 语言快速入门”工程的主体部分即视同完结。

~完结撒花~

@clsty
Copy link
Contributor Author

clsty commented Oct 22, 2025

@ryan4yin 此 PR 已准备好(我已经预览过多遍),有空请帮忙看一下,谢谢。

[内建函数](https://nixos.org/manual/nix/stable/language/builtins.html) 以了解其
使用方法。
然而,更复杂的情况下,要保证完全可重复的例子,
应当为 Nixpkgs 固定(pin)版本,例如:
Copy link
Member

@ryan4yin ryan4yin Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个应该不至于,nixpkgs 的 lib 库设计上肯定要考虑兼容性的,基本不可能出现破坏性变更。
ping 版本这个可以不用介绍吧,它主要是为了锁定各种软件包的版本,跟 lib 没啥关系.

clsty and others added 2 commits October 23, 2025 15:08
Co-authored-by: Ryan Yin <xiaoyin_c@qq.com>
Co-authored-by: Ryan Yin <xiaoyin_c@qq.com>
Copy link
Member

@ryan4yin ryan4yin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

牛逼,我加了一些 comments

@clsty
Copy link
Contributor Author

clsty commented Oct 23, 2025

关于柯里化与闭包,我从新手的视角来看,如果介绍闭包是有必要的,那么介绍柯里化就是有必要的,并且应该可以做到容易理解;实际上我自己理解柯里化并没有什么困难。

不过,目前柯里化函数这一节确实写得比较晦涩,等我有空再修改一下。

@clsty clsty marked this pull request as draft October 23, 2025 08:17
@clsty clsty marked this pull request as ready for review October 24, 2025 02:32
@clsty clsty requested a review from ryan4yin October 24, 2025 02:33
@clsty
Copy link
Contributor Author

clsty commented Oct 24, 2025

@ryan4yin 已修改完毕,请过目。

@ryan4yin ryan4yin merged commit 0d0367b into NixOS-CN:main Oct 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants