Skip to content

Commit

Permalink
remove non-argument about encouraging a principled approach
Browse files Browse the repository at this point in the history
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
  • Loading branch information
fricklerhandwerk committed Dec 16, 2022
1 parent c6d692c commit 4265b08
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions rfcs/0137-nix-language-version.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,15 @@ where `<version>` 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.
Expand Down Expand Up @@ -91,4 +94,5 @@ where `<version>` 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.

0 comments on commit 4265b08

Please sign in to comment.