gitextract_q_z2xg1p/ ├── .fourmolu.yaml ├── .github/ │ ├── dependabot.yml │ └── workflows/ │ ├── Cabal-Linux.yml │ ├── HLint.yml │ ├── On-Release-Cabal-Linux.yml │ ├── On-Release-Nixpkgs-integration.yml │ └── Quality.yml ├── .gitignore ├── .gitmodules ├── .hlint.yaml ├── CLAUDE.md ├── CODEOWNERS ├── ChangeLog.md ├── LICENSE.md ├── License ├── Makefile ├── ReadMe.md ├── benchmarks/ │ ├── Main.hs │ └── ParserBench.hs ├── brittany.yaml ├── build.sh ├── cabal.project ├── data/ │ ├── let-comments-multiline.nix │ ├── let-comments.nix │ ├── let.nix │ ├── nix/ │ │ ├── README.md │ │ └── tests/ │ │ └── lang/ │ │ ├── binary-data │ │ ├── data │ │ ├── dir1/ │ │ │ └── a.nix │ │ ├── dir2/ │ │ │ ├── a.nix │ │ │ └── b.nix │ │ ├── dir3/ │ │ │ ├── a.nix │ │ │ ├── b.nix │ │ │ └── c.nix │ │ ├── dir4/ │ │ │ ├── a.nix │ │ │ └── c.nix │ │ ├── eval-fail-abort.nix │ │ ├── eval-fail-assert.nix │ │ ├── eval-fail-bad-antiquote-1.nix │ │ ├── eval-fail-bad-antiquote-2.nix │ │ ├── eval-fail-bad-antiquote-3.nix │ │ ├── eval-fail-blackhole.nix │ │ ├── eval-fail-deepseq.nix │ │ ├── eval-fail-hashfile-missing.nix │ │ ├── eval-fail-missing-arg.nix │ │ ├── eval-fail-nonexist-path.nix │ │ ├── eval-fail-path-slash.nix │ │ ├── eval-fail-remove.nix │ │ ├── eval-fail-scope-5.nix │ │ ├── eval-fail-seq.nix │ │ ├── eval-fail-substring.nix │ │ ├── eval-fail-to-path.nix │ │ ├── eval-fail-undeclared-arg.nix │ │ ├── eval-okay-any-all.exp │ │ ├── eval-okay-any-all.nix │ │ ├── eval-okay-arithmetic.exp │ │ ├── eval-okay-arithmetic.nix │ │ ├── eval-okay-attrnames.exp │ │ ├── eval-okay-attrnames.nix │ │ ├── eval-okay-attrs.exp │ │ ├── eval-okay-attrs.nix │ │ ├── eval-okay-attrs2.exp │ │ ├── eval-okay-attrs2.nix │ │ ├── eval-okay-attrs3.exp │ │ ├── eval-okay-attrs3.nix │ │ ├── eval-okay-attrs4.exp │ │ ├── eval-okay-attrs4.nix │ │ ├── eval-okay-attrs5.exp │ │ ├── eval-okay-attrs5.nix │ │ ├── eval-okay-attrs6.exp │ │ ├── eval-okay-attrs6.nix │ │ ├── eval-okay-autoargs.exp │ │ ├── eval-okay-autoargs.flags │ │ ├── eval-okay-autoargs.nix │ │ ├── eval-okay-backslash-newline-1.exp │ │ ├── eval-okay-backslash-newline-1.nix │ │ ├── eval-okay-backslash-newline-2.exp │ │ ├── eval-okay-backslash-newline-2.nix │ │ ├── eval-okay-builtins-add.exp │ │ ├── eval-okay-builtins-add.nix │ │ ├── eval-okay-builtins.exp │ │ ├── eval-okay-builtins.nix │ │ ├── eval-okay-callable-attrs.exp │ │ ├── eval-okay-callable-attrs.nix │ │ ├── eval-okay-catattrs.exp │ │ ├── eval-okay-catattrs.nix │ │ ├── eval-okay-closure.exp.xml │ │ ├── eval-okay-closure.nix │ │ ├── eval-okay-comments.exp │ │ ├── eval-okay-comments.nix │ │ ├── eval-okay-concat.exp │ │ ├── eval-okay-concat.nix │ │ ├── eval-okay-concatmap.exp │ │ ├── eval-okay-concatmap.nix │ │ ├── eval-okay-concatstringssep.exp │ │ ├── eval-okay-concatstringssep.nix │ │ ├── eval-okay-context-introspection.exp │ │ ├── eval-okay-context-introspection.nix │ │ ├── eval-okay-context.exp │ │ ├── eval-okay-context.nix │ │ ├── eval-okay-curpos.exp │ │ ├── eval-okay-curpos.nix │ │ ├── eval-okay-deepseq.exp │ │ ├── eval-okay-deepseq.nix │ │ ├── eval-okay-delayed-with-inherit.exp │ │ ├── eval-okay-delayed-with-inherit.nix │ │ ├── eval-okay-delayed-with.exp │ │ ├── eval-okay-delayed-with.nix │ │ ├── eval-okay-dynamic-attrs-2.exp │ │ ├── eval-okay-dynamic-attrs-2.nix │ │ ├── eval-okay-dynamic-attrs-bare.exp │ │ ├── eval-okay-dynamic-attrs-bare.nix │ │ ├── eval-okay-dynamic-attrs.exp │ │ ├── eval-okay-dynamic-attrs.nix │ │ ├── eval-okay-elem.exp │ │ ├── eval-okay-elem.nix │ │ ├── eval-okay-empty-args.exp │ │ ├── eval-okay-empty-args.nix │ │ ├── eval-okay-eq-derivations.exp │ │ ├── eval-okay-eq-derivations.nix │ │ ├── eval-okay-eq.exp.disabled │ │ ├── eval-okay-eq.nix │ │ ├── eval-okay-filter.exp │ │ ├── eval-okay-filter.nix │ │ ├── eval-okay-flatten.exp │ │ ├── eval-okay-flatten.nix │ │ ├── eval-okay-float.exp │ │ ├── eval-okay-float.nix │ │ ├── eval-okay-floor-ceil.exp │ │ ├── eval-okay-floor-ceil.nix │ │ ├── eval-okay-foldlStrict.exp │ │ ├── eval-okay-foldlStrict.nix │ │ ├── eval-okay-fromTOML.exp │ │ ├── eval-okay-fromTOML.nix │ │ ├── eval-okay-fromjson-escapes.exp │ │ ├── eval-okay-fromjson-escapes.nix │ │ ├── eval-okay-fromjson.exp │ │ ├── eval-okay-fromjson.nix │ │ ├── eval-okay-functionargs.exp.xml │ │ ├── eval-okay-functionargs.nix │ │ ├── eval-okay-getattrpos-functionargs.exp │ │ ├── eval-okay-getattrpos-functionargs.nix │ │ ├── eval-okay-getattrpos-undefined.exp │ │ ├── eval-okay-getattrpos-undefined.nix │ │ ├── eval-okay-getattrpos.exp │ │ ├── eval-okay-getattrpos.nix │ │ ├── eval-okay-getenv.exp │ │ ├── eval-okay-getenv.nix │ │ ├── eval-okay-hash.exp │ │ ├── eval-okay-hashfile.exp │ │ ├── eval-okay-hashfile.nix │ │ ├── eval-okay-hashstring.exp │ │ ├── eval-okay-hashstring.nix │ │ ├── eval-okay-if.exp │ │ ├── eval-okay-if.nix │ │ ├── eval-okay-import.exp │ │ ├── eval-okay-import.nix │ │ ├── eval-okay-ind-string.exp │ │ ├── eval-okay-ind-string.nix │ │ ├── eval-okay-let.exp │ │ ├── eval-okay-let.nix │ │ ├── eval-okay-list.exp │ │ ├── eval-okay-list.nix │ │ ├── eval-okay-listtoattrs.exp │ │ ├── eval-okay-listtoattrs.nix │ │ ├── eval-okay-logic.exp │ │ ├── eval-okay-logic.nix │ │ ├── eval-okay-map.exp │ │ ├── eval-okay-map.nix │ │ ├── eval-okay-mapattrs.exp │ │ ├── eval-okay-mapattrs.nix │ │ ├── eval-okay-nested-with.exp │ │ ├── eval-okay-nested-with.nix │ │ ├── eval-okay-new-let.exp │ │ ├── eval-okay-new-let.nix │ │ ├── eval-okay-null-dynamic-attrs.exp │ │ ├── eval-okay-null-dynamic-attrs.nix │ │ ├── eval-okay-overrides.exp │ │ ├── eval-okay-overrides.nix │ │ ├── eval-okay-partition.exp │ │ ├── eval-okay-partition.nix │ │ ├── eval-okay-path-antiquotation.nix │ │ ├── eval-okay-path.nix │ │ ├── eval-okay-pathexists.exp │ │ ├── eval-okay-pathexists.nix │ │ ├── eval-okay-patterns.exp │ │ ├── eval-okay-patterns.nix │ │ ├── eval-okay-readDir.exp │ │ ├── eval-okay-readDir.nix │ │ ├── eval-okay-readfile.exp │ │ ├── eval-okay-readfile.nix │ │ ├── eval-okay-redefine-builtin.exp │ │ ├── eval-okay-redefine-builtin.nix │ │ ├── eval-okay-regex-match.exp │ │ ├── eval-okay-regex-match.nix │ │ ├── eval-okay-regex-split.exp │ │ ├── eval-okay-regex-split.nix │ │ ├── eval-okay-remove.exp │ │ ├── eval-okay-remove.nix │ │ ├── eval-okay-replacestrings.exp │ │ ├── eval-okay-replacestrings.nix │ │ ├── eval-okay-scope-1.exp │ │ ├── eval-okay-scope-1.nix │ │ ├── eval-okay-scope-2.exp │ │ ├── eval-okay-scope-2.nix │ │ ├── eval-okay-scope-3.exp │ │ ├── eval-okay-scope-3.nix │ │ ├── eval-okay-scope-4.exp │ │ ├── eval-okay-scope-4.nix │ │ ├── eval-okay-scope-6.exp │ │ ├── eval-okay-scope-6.nix │ │ ├── eval-okay-scope-7.exp │ │ ├── eval-okay-scope-7.nix │ │ ├── eval-okay-search-path.exp │ │ ├── eval-okay-search-path.flags │ │ ├── eval-okay-search-path.nix │ │ ├── eval-okay-seq.exp │ │ ├── eval-okay-seq.nix │ │ ├── eval-okay-sort.exp │ │ ├── eval-okay-sort.nix │ │ ├── eval-okay-splitversion.exp │ │ ├── eval-okay-splitversion.nix │ │ ├── eval-okay-string.exp │ │ ├── eval-okay-string.nix │ │ ├── eval-okay-strings-as-attrs-names.exp │ │ ├── eval-okay-strings-as-attrs-names.nix │ │ ├── eval-okay-substring.exp │ │ ├── eval-okay-substring.nix │ │ ├── eval-okay-tail-call-1.exp-disabled │ │ ├── eval-okay-tail-call-1.nix │ │ ├── eval-okay-tojson.exp │ │ ├── eval-okay-tojson.nix │ │ ├── eval-okay-toxml.exp │ │ ├── eval-okay-toxml.nix │ │ ├── eval-okay-toxml2.exp │ │ ├── eval-okay-toxml2.nix │ │ ├── eval-okay-tryeval.exp │ │ ├── eval-okay-tryeval.nix │ │ ├── eval-okay-types.exp │ │ ├── eval-okay-types.nix │ │ ├── eval-okay-versions.exp │ │ ├── eval-okay-versions.nix │ │ ├── eval-okay-with.exp │ │ ├── eval-okay-with.nix │ │ ├── eval-okay-xml.exp.xml │ │ ├── eval-okay-xml.nix │ │ ├── imported.nix │ │ ├── imported2.nix │ │ ├── lib.nix │ │ ├── parse-fail-dup-attrs-1.nix │ │ ├── parse-fail-dup-attrs-2.nix │ │ ├── parse-fail-dup-attrs-3.nix │ │ ├── parse-fail-dup-attrs-4.nix │ │ ├── parse-fail-dup-attrs-7.nix │ │ ├── parse-fail-dup-formals.nix │ │ ├── parse-fail-mixed-nested-attrs1.nix │ │ ├── parse-fail-mixed-nested-attrs2.nix │ │ ├── parse-fail-patterns-1.nix │ │ ├── parse-fail-regression-20060610.nix │ │ ├── parse-fail-uft8.nix │ │ ├── parse-fail-undef-var-2.nix │ │ ├── parse-fail-undef-var.nix │ │ ├── parse-okay-1.nix │ │ ├── parse-okay-crlf.nix │ │ ├── parse-okay-dup-attrs-5.nix │ │ ├── parse-okay-dup-attrs-6.nix │ │ ├── parse-okay-mixed-nested-attrs-1.nix │ │ ├── parse-okay-mixed-nested-attrs-2.nix │ │ ├── parse-okay-mixed-nested-attrs-3.nix │ │ ├── parse-okay-regression-20041027.nix │ │ ├── parse-okay-regression-751.nix │ │ ├── parse-okay-subversion.nix │ │ ├── parse-okay-url.nix │ │ └── readDir/ │ │ ├── bar │ │ └── foo/ │ │ └── git-hates-directories │ ├── nixpkgs-all-packages-pretty.nix │ ├── nixpkgs-all-packages.nix │ ├── simple-pretty.nix │ └── simple.nix ├── default.nix ├── doc/ │ ├── grammar.y │ └── lexer.l ├── flake.nix ├── hnix.cabal ├── hydra.json ├── jobsets.nix ├── lefthook.yml ├── main/ │ ├── Main.hs │ └── Repl.hs ├── release.nix ├── shell.nix ├── src/ │ ├── Nix/ │ │ ├── Atoms.hs │ │ ├── Builtins.hs │ │ ├── Cache.hs │ │ ├── Cited/ │ │ │ └── Basic.hs │ │ ├── Cited.hs │ │ ├── Context.hs │ │ ├── Convert.hs │ │ ├── Effects/ │ │ │ ├── Basic.hs │ │ │ └── Derivation.hs │ │ ├── Effects.hs │ │ ├── Eval.hs │ │ ├── Exec.hs │ │ ├── Expr/ │ │ │ ├── Shorthands.hs │ │ │ ├── Strings.hs │ │ │ ├── Types/ │ │ │ │ └── Annotated.hs │ │ │ └── Types.hs │ │ ├── Expr.hs │ │ ├── Frames.hs │ │ ├── Fresh/ │ │ │ └── Basic.hs │ │ ├── Fresh.hs │ │ ├── Json.hs │ │ ├── Lint.hs │ │ ├── Normal.hs │ │ ├── Options/ │ │ │ └── Parser.hs │ │ ├── Options.hs │ │ ├── Parser.hs │ │ ├── Prelude.hs │ │ ├── Pretty.hs │ │ ├── Reduce.hs │ │ ├── Render/ │ │ │ └── Frame.hs │ │ ├── Render.hs │ │ ├── Scope.hs │ │ ├── Standard.hs │ │ ├── String/ │ │ │ └── Coerce.hs │ │ ├── String.hs │ │ ├── TH.hs │ │ ├── Thunk/ │ │ │ └── Basic.hs │ │ ├── Thunk.hs │ │ ├── Type/ │ │ │ ├── Assumption.hs │ │ │ ├── Env.hs │ │ │ ├── Infer.hs │ │ │ ├── LICENSE │ │ │ └── Type.hs │ │ ├── Unused.hs │ │ ├── Utils/ │ │ │ └── Fix1.hs │ │ ├── Utils.hs │ │ ├── Value/ │ │ │ ├── Equal.hs │ │ │ └── Monad.hs │ │ ├── Value.hs │ │ ├── Var.hs │ │ └── XML.hs │ └── Nix.hs └── tests/ ├── EvalTests.hs ├── Main.hs ├── NixLanguageTests.hs ├── ParserTests.hs ├── PrettyParseTests.hs ├── PrettyTests.hs ├── ReduceExprTests.hs ├── TestCommon.hs ├── eval-compare/ │ ├── builtins.appendContext.nix │ ├── builtins.eq-bottom-00.nix │ ├── builtins.fetchurl-01.nix │ ├── builtins.fromJSON-01.nix │ ├── builtins.getContext.nix │ ├── builtins.lessThan-01.nix │ ├── builtins.mapAttrs-01.nix │ ├── builtins.pathExists.nix │ ├── builtins.replaceStrings-01.nix │ ├── builtins.split-01.nix │ ├── builtins.split-02.nix │ ├── builtins.split-03.nix │ ├── builtins.split-04.nix │ ├── builtins.string.store.nix │ ├── builtins.toJSON.nix │ ├── current-system.nix │ ├── ellipsis.nix │ ├── ind-string-01.nix │ ├── ind-string-02.nix │ ├── ind-string-03.nix │ ├── ind-string-04.nix │ ├── ind-string-05.nix │ ├── ind-string-06.nix │ ├── ind-string-07.nix │ ├── ind-string-08.nix │ ├── ind-string-09.nix │ ├── ind-string-10.nix │ ├── ind-string-11.nix │ ├── ind-string-12.nix │ ├── ind-string-13.nix │ ├── ind-string-14.nix │ ├── ind-string-15.nix │ ├── ind-string-16.nix │ ├── ind-string-17.nix │ ├── ind-string-18.nix │ ├── ind-string-19.nix │ ├── paths-01.nix │ └── placeholder.nix └── files/ ├── attrs.nix ├── callLibs.nix ├── eighty.nix ├── file.nix ├── file2.nix ├── findFile.nix ├── force.nix ├── goodbye.nix ├── hello.nix ├── hello2.nix ├── if-then.nix ├── lint.nix ├── loop.nix ├── test.nix └── with.nix