From 4265b085ab0aba6e6f55ce9b20882e7bd474f56f Mon Sep 17 00:00:00 2001 From: Valentin Gagarin Date: Fri, 16 Dec 2022 11:46:07 +0100 Subject: [PATCH] remove non-argument about encouraging a principled approach the convention indeed does not encourage discipline, as @andir points out[1], and at the worst would encourage haphazard changes because it makes them appear harmless, as @tazjin adds [2]. [1]: https://github.com/NixOS/rfcs/pull/137/files#r1050542977 [2]: https://github.com/NixOS/rfcs/pull/137/files#r1050580213 --- rfcs/0137-nix-language-version.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/rfcs/0137-nix-language-version.md b/rfcs/0137-nix-language-version.md index 45b16c4..c49cb7f 100644 --- a/rfcs/0137-nix-language-version.md +++ b/rfcs/0137-nix-language-version.md @@ -39,12 +39,15 @@ where `` is a released version of Nix the given file is intended to wor # Arguments [advantages]: #advantages -* (+) Encourages developing Nix to deal with changes to the Nix language in a principled manner. +* (+) Makes explicit what can be expected to work. +* (+) Enables communicating language changes systematically. * (+) Backwards-compatible * (+) Allows for gradual adoption: opt-in until semantics is implemented in Nix *and* the first backwards-incompatible change to the language is introduced. * (+) Visually unintrusive * (+) Self-describing and human-readable * (+) Follows a well-known convention of using [magic numbers in files](https://en.m.wikipedia.org/wiki/Magic_number_(programming)#In_files) +* (-) May make the appearance that changing the language is harmless. + * (+) The convention itself is harmless and independent of the development culture around the language. * (-) The syntax of the magic comment is arbitrary. * (-) There is a chance of abusing the magic comment for more metadata in the future. Let's avoid that. * (-) At least one form of comment is forever bound to begin with `#` to maintain compatibility. @@ -91,4 +94,5 @@ where `` is a released version of Nix the given file is intended to wor # Future work [future]: #future-work -Define semantics, that is, what exactly to do with the information given in the magic comment. +- Define semantics, that is, what exactly to do with the information given in the magic comment. +- Define rules deciding when a change to the language is appropriate to avoid proliferation and limit complexity of implementation.