about summary refs log tree commit diff
path: root/src/libexpr
AgeCommit message (Collapse)AuthorFilesLines
2006-10-17 * Print out the offending path.Eelco Dolstra1-2/+3
2006-10-17 * An awful backwards compatibility hack.Eelco Dolstra1-0/+24
2006-10-17 * baseNameOf: paths don't have to be absolute.Eelco Dolstra1-1/+1
2006-10-17 * toPath: should be the identity on paths.Eelco Dolstra1-3/+1
2006-10-17 * dirOf: return a path if the argument is a path.Eelco Dolstra1-2/+6
2006-10-17 * toString: don't copy paths. So toString can be used to passEelco Dolstra1-3/+4
non-store paths to a builder.
2006-10-17 * Do the path check on the normal form.Eelco Dolstra1-2/+5
2006-10-16 * Big cleanup of the semantics of paths, strings, contexts, stringEelco Dolstra11-370/+303
concatenation and string coercion. This was a big mess (see e.g. NIX-67). Contexts are now folded into strings, so that they don't cause evaluation errors when they're not expected. The semantics of paths has been clarified (see nixexpr-ast.def). toString() and coerceToString() have been merged. Semantic change: paths are now copied to the store when they're in a concatenation (and in most other situations - that's the formalisation of the meaning of a path). So "foo " + ./bla evaluates to "foo /nix/store/hash...-bla", not "foo /path/to/current-dir/bla". This prevents accidental impurities, and is more consistent with the treatment of derivation outputs, e.g., `"foo " + bla' where `bla' is a derivation. (Here `bla' would be replaced by the output path of `bla'.)
2006-10-11 * Removed URIs from the evaluator (NIX-66). They are now just anotherEelco Dolstra6-13/+4
kind of notation for strings.
2006-10-10 * Quick hack to fix NIX-67: evaluation result differing if the NixEelco Dolstra2-13/+16
expression resides in the store.
2006-10-10 * `import': unwrap the context. Necessary to make `import (x + y)'Eelco Dolstra1-13/+14
work, where x is a store path.
2006-10-03 * toXML: propagate the context to allow derivations to be used in theEelco Dolstra3-9/+18
argument.
2006-10-03 * toFile: added an additional argument to specify the store pathEelco Dolstra3-4/+40
suffix, e.g., `builtins.toFile "builder.sh" "..."'. * toFile: handle references to other files correctly.
2006-10-02 * Finally, a real "let" syntax: `let x = ...; ... z = ...; in ...'.Eelco Dolstra2-1/+4
2006-10-02 * Hack for Bison 2.3 compatability.Eelco Dolstra2-2/+14
2006-09-24 * The result of a concatenation with a derivation on the left-handEelco Dolstra2-4/+13
side should be a path, I guess. * Handle paths that are in the store but not direct children of the store directory. * Ugh, hack to prevent double context wrapping.
2006-09-24 * Primop `toPath' to convert a string to a path.Eelco Dolstra1-7/+26
* Primop `pathExists' to check for path existence.
2006-09-24 * Builtin function `getEnv' for getting environment variables.Eelco Dolstra1-6/+18
2006-09-24 * lessThan primitive for integer comparison.Eelco Dolstra1-0/+9
2006-09-22 * Builtin function `add' to add integers.Eelco Dolstra3-0/+20
* Put common test functions in tests/lang/lib.nix.
2006-09-22 * Added a builtin function `isList' to test whether a value is a list.Eelco Dolstra1-0/+9
With this primitive, a list-flattening function can be implemented (NIX-55, example is in tests/lang/eval-okay-flatten.nix).
2006-09-22 * Builtin functions `head' and `tail' to return the head and tail ofEelco Dolstra1-0/+25
list. Useful for lots of things, such as implementing a fold function (see NIX-30, example is in tests/lang/eval-okay-list.nix).
2006-09-22 * New builtin functions builtins.{hasAttr, getAttr} to check forEelco Dolstra1-0/+16
attribute existence and to return an attribute from an attribute set, respectively. Example: `hasAttr "foo" {foo = 1;}'. They differ from the `?' and `.' operators in that the attribute name is an arbitrary expression. (NIX-61)
2006-09-21 * Fix comment.Eelco Dolstra1-3/+1
2006-09-20 * Shut up a warning.Eelco Dolstra1-0/+1
2006-09-20 * Print a better error message for wrong hashes (NIX-49).Eelco Dolstra1-3/+6
2006-09-11 * Support `++'.Eelco Dolstra1-6/+14
* More follow restrictions on layout.
2006-09-05 * Sone missing #includes.Eelco Dolstra1-0/+1
2006-09-04 * Move setuid stuff to libutil.Eelco Dolstra1-6/+7
* Install libexpr header files.
2006-09-04 * Install header files in /nix/include/nix.Eelco Dolstra1-1/+4
2006-09-04 * Remove unnecessary inclusions of aterm2.h.Eelco Dolstra2-7/+4
2006-09-04 * Compile the lexer as C++ code. Remove all the redundant C/C++Eelco Dolstra4-276/+234
marshalling code.
2006-09-04 * Use a proper namespace.Eelco Dolstra16-56/+158
* Optimise header file usage a bit. * Compile the parser as C++.
2006-09-04 * Store the Nix libraries in ${libdir}/nix instead of ${libdir}.Eelco Dolstra1-1/+1
2006-09-01 * New primop: builtins.toFile, which writes a string into the storeEelco Dolstra1-0/+14
and returns its path. This can be used to (for instance) write builders inside a Nix expression, e.g., stdenv.mkDerivation { builder = " source $stdenv/setup ... "; ... }
2006-09-01 * Allow "$" in strings as long as they are not followed by "{". (TooEelco Dolstra1-1/+5
bad flex doesn't have lexical restrictions, the current solution isn't quite right...)
2006-08-30 * Okay, that's a bit harder than expected.Eelco Dolstra2-9/+19
2006-08-30 * Uninitialised variable.Eelco Dolstra1-1/+1
2006-08-29 * Support singleton values and nested lists again in `args', but printEelco Dolstra1-1/+5
a warning.
2006-08-29 * Fix the ~ operator.Eelco Dolstra2-3/+13
2006-08-28 * In toString, deal with nested lists properly (i.e., flatten them).Eelco Dolstra1-0/+21
2006-08-28 * Removed processBinding, instead we now apply toString to allEelco Dolstra2-139/+139
derivation attributes to flatten them into strings. This is possible since string can nowadays be wrapped in contexts that describe the derivations/sources referenced by the evaluation of the string.
2006-08-26 * Refactoring.Eelco Dolstra1-6/+1
2006-08-25 * Remove those storePath attribute sets, we don't need 'em.Eelco Dolstra1-12/+1
2006-08-24 * New primop __toXML (or builtins.toXML) to convert an expression toEelco Dolstra1-0/+10
an XML representation stored in a string. This should be useful to pass structured information to builders.
2006-08-24 * Refactoring.Eelco Dolstra3-1/+107
2006-08-24 * Strict evaluation and XML printing of lists.Eelco Dolstra1-3/+9
2006-08-24 * Refactoring: move strictEval to libexpr.Eelco Dolstra2-0/+47
2006-08-23 * Pass the autoArgs to findAlongAttrPath so that "nix-instantiateEelco Dolstra2-3/+5
foo.nix -A attr --arg name value" will work if (name, value) is needed in the evaluation leading up to "attr".
2006-08-23 * Quotes.Eelco Dolstra1-1/+1