rfcs/rfcs/0045-deprecate-url-syntax.md
Michael Raskin 7bcdb8d878 [RFC 0045] Deprecating unquoted URL syntax (#45)
* A small RFC on deprecating URL syntax

* Convert alternatives to a list

* Add a mention of tooling in future work

* A remark from @globin about one more problem with unquoted URLs

* Grammar edit: comparison of URLs, paths and strings.

Co-Authored-By: 7c6f434c <7c6f434c@mail.ru>

* Style edit: possibility of future removal

Co-Authored-By: 7c6f434c <7c6f434c@mail.ru>

* 0045: commit to using the tooling that now exists

* Update rfcs/0045-deprecate-url-syntax.md

Shepherd team

Co-Authored-By: Domen Kožar <domen@enlambda.com>

* Fix shepherd list

* Update based on a discussion

* Explicitly make future removal conditional on editions; restrict the claim about no special support to the Nix language itself
2019-11-25 12:49:18 +01:00

2 KiB

feature start-date author co-authors shepherd-leader shepherd-team related-issues
deprecate_url_syntax 2019-04-28 Michael Raskin Eelco Dolstra Eelco Dolstra, zimbatm, Silvan Mosberger

Summary

Discourage and eventually remove the use of unquoted URL syntax in Nix code and especially Nixpkgs.

Motivation

The Nix language has a special syntax for URLs even though quoted strings can also be used to represent them. Unlike paths, URLs do not have any special properties in the Nix expression language that would make the difference useful. Moreover, using variable expansion in URLs requires some URLs to be quoted strings anyway. So the most consistent approach is to always use quoted strings to represent URLs. Additionally, a semicolon immediately after the URL can be mistaken for a part of URL by language-agnostic tools such as terminal emulators.

Tools targeting only Nixpkgs codebase can ignore URL syntax once Nixpkgs phases out its use.

Detailed design

Add a note in the Nix manual that the special unquoted URL syntax is discouraged and may be removed in a future edition of the Nix language.

Add a note in the Nixpkgs manual that the unquoted URL syntax should not be used anymore.

Convert all the unquoted URLs in the Nixpkgs codebase to quoted strings.

Add an ofBorg check that verifies that no new unquoted URLs have been added in a PR.

Drawbacks

This is a minor cosmetic issue (and maybe a very minor readability issue) which might not be worth making a specific decision.

Alternatives

  • Do nothing; get PRs from time to time that make homepages uniformly quoted strings or uniformly unquoted.

  • Decide to use unquoted URLs for all URLs without special characters or variable expansion.

Unresolved questions

Currently none.

Future work

Currently none.