haskell-nix/hnix

Get string coercions right

Offen

#245 geöffnet am 28.04.2018

 (2 Kommentare) (0 Reaktionen) (1 zugewiesene Person)Nix (116 Forks)github user discovery
easy with C++ knowledgegood first issuehelp wanted

Repository-Metriken

Stars
 (837 Sterne)
PR-Merge-Metriken
 (Keine gemergten PRs in 30 T)

Beschreibung

According to @shlevy , there are 2 axes of string coercion:

  • coerceToString + coerceMore: Do I coerce integers? Do I recurse into lists?
  • addToStore: If coercing a path, do I just convert it into a string, or add it to the store?

There are several string coercion contexts:

  • toString: coerceMore = true, addToStore = false
  • ${: coerceMore = false, addToStore = true
  • derivation argument: coerceMore = true, addToStore = true
  • implicit coercion: coerceMore = false, addToStore = false
  • forceString: it simply must be a string and nothing else

Shea will double check this.

According to these criteria, we are getting this wrong on toString right now.

Contributor Guide