Identifiers in Nix are essentially strings. They can be constructed
(and viewed) with the ident isomorphism. For the sake of convenience,
Identifiers are an instance of the IsString class.
Reasonable people restrict themselves to identifiers of the form
[a-zA-Z_][a-zA-Z0-9_'-]*, because these don't need quoting. The
methods of the Text class can be used to parse and pretty-print an
identifier with proper quoting:
pPrint (ident # "test")testpPrint (ident # "foo.bar")"foo.bar"
\str -> Just (ident # str) == parseM "Ident" (quote str)\i -> Just (i :: Identifier) == parseM "Ident" (prettyShow i)Instances11Eq, Ord, Show, IsString, Generic, NFData, …
Eq IdentifierDefined in language-nix-2.2.0 · Language.Nix.IdentifierOrd IdentifierDefined in language-nix-2.2.0 · Language.Nix.IdentifierShow IdentifierDefined in language-nix-2.2.0 · Language.Nix.IdentifierIsString IdentifierDefined in language-nix-2.2.0 · Language.Nix.IdentifierGeneric IdentifierDefined in language-nix-2.2.0 · Language.Nix.IdentifierNFData IdentifierDefined in language-nix-2.2.0 · Language.Nix.IdentifierPretty IdentifierDefined in language-nix-2.2.0 · Language.Nix.IdentifierArbitrary IdentifierDefined in language-nix-2.2.0 · Language.Nix.IdentifierCoArbitrary IdentifierDefined in language-nix-2.2.0 · Language.Nix.IdentifierHasParser IdentifierDefined in language-nix-2.2.0 · Language.Nix.Identifiertype Rep Identifier = D1 ('MetaDataDefined in language-nix-2.2.0 · Language.Nix.Identifier"Identifier"
"Language.Nix.Identifier"
"language-nix-2.2.0-AhPVkRzVEzuCsQFG2Mwzzq"
'True) (C1 ('MetaCons"Identifier"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))