M main/Main.hs
M main/Repl.hs
M src/Nix/Builtins.hs
M src/Nix/Convert.hs
M src/Nix/Effects.hs
M src/Nix/Effects/Basic.hs
M src/Nix/Eval.hs
M src/Nix/Exec.hs
M src/Nix/Expr/Types.hs
M src/Nix/Json.hs
M src/Nix/Lint.hs
M src/Nix/Normal.hs
M src/Nix/Options/Parser.hs
M src/Nix/Parser.hs
M src/Nix/Scope.hs
M src/Nix/String.hs
M src/Nix/TH.hs
M src/Nix/Thunk/Basic.hs
M src/Nix/Utils.hs
M src/Nix/Value.hs
M src/Nix/Value/Equal.hs
M src/Nix/XML.hs
M tests/EvalTests.hs
M tests/Main.hs
M tests/NixLanguageTests.hs
M tests/ParserTests.hs
M tests/TestCommon.hs
M Setup.hs
M main/Repl.hs
M src/Nix/Builtins.hs
M src/Nix/Cache.hs
M src/Nix/Cited.hs
M src/Nix/Cited/Basic.hs
M src/Nix/Convert.hs
M src/Nix/Exec.hs
M src/Nix/Expr/Types.hs
M src/Nix/Expr/Types/Annotated.hs
M src/Nix/Lint.hs
M src/Nix/Normal.hs
M src/Nix/Pretty.hs
M src/Nix/Render/Frame.hs
M src/Nix/Scope.hs
M src/Nix/TH.hs
M src/Nix/Thunk.hs
M src/Nix/Thunk/Basic.hs
M src/Nix/Utils.hs
M src/Nix/Value.hs
M src/Nix/Value/Equal.hs
Heterogeneous: consisting of dissimilar elements.
Heterogenous:
1. not originating within the body;
(ex: "You are NOT of the body!" by Dr. Leonard "Bones" McCoy)
2. of foreign origin;
3. heterogeneous.
At the beginning of arangodb/default.nix:
```
{ stdenv, fetchFromGitHub
, openssl, zlib, python2Packages, readline, cmake, python }:
let
in stdenv.mkDerivation rec {
version = "3.3.4";
name = "arangodb-${version}";
```
This is not the same as the JSON format used by Nix, but is intended for other
uses where one wishes to write analysis programs over expression trees, where
hnix is only being used to convert the source code to its JSON representation.
Note that Nix allows inherit; and inherit (foo);, so we cannot make the list
of inherited names non-empty, even though the former constructions have no
meaning.
There remains some simplification work to be done, still, as there is much
duplication in Builtins.hs as things stand now. At least for now only one type
class-based, automatic conversion mechanism exists.