Eelco Dolstra
d315210612
* Added a builtin function `isList' to test whether a value is a list.
...
With this primitive, a list-flattening function can be implemented
(NIX-55, example is in tests/lang/eval-okay-flatten.nix).
2006-09-22 14:55:19 +00:00
Eelco Dolstra
c02a44183f
* Builtin functions head' and
tail' to return the head and tail of
...
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 14:46:36 +00:00
Eelco Dolstra
8a1ab709a4
* New builtin functions builtins.{hasAttr, getAttr} to check for
...
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-22 14:31:55 +00:00
Eelco Dolstra
de90fdf908
* Allow "$" in strings as long as they are not followed by "{". (Too
...
bad flex doesn't have lexical restrictions, the current solution
isn't quite right...)
2006-09-01 12:04:06 +00:00
Eelco Dolstra
f93f7b75be
* Okay, that's a bit harder than expected.
2006-08-30 13:10:04 +00:00
Eelco Dolstra
dce1afdc67
* TDD: == should do a deep equality test, i.e., it should strictly
...
evaluate its arguments.
2006-08-30 12:25:27 +00:00
Eelco Dolstra
215ec2ddc6
* New primop __toXML (or builtins.toXML) to convert an expression to
...
an XML representation stored in a string. This should be useful to
pass structured information to builders.
2006-08-24 14:34:29 +00:00
Eelco Dolstra
38f18aa6d4
* New primop: abort "error message".
2006-08-23 15:46:00 +00:00
Eelco Dolstra
4a053bfdfd
* A new primop `builtins', which returns an attribute set containing
...
all the primops. This allows Nix expressions to test for new
primops and take appropriate action if they're not available. For
instance, rather than calling a primop `foo' directly, they could
say `if builtins ? foo then builtins.foo ... else ...'.
2006-08-23 14:39:11 +00:00
Eelco Dolstra
93d9797eda
* Urgh (see NIX-56).
2006-08-22 09:34:38 +00:00
Eelco Dolstra
4874fd2d9a
* Test for `nix-instantiate --eval-only --xml'.
2006-08-17 11:28:29 +00:00
Eelco Dolstra
fe101fa785
* Meh.
2006-08-16 10:29:43 +00:00
Eelco Dolstra
bfe19b3c37
* A test for NIX-53.
2006-08-16 10:23:02 +00:00
Eelco Dolstra
f4c5531d92
* New language feature: domain checks, which check whether a function
...
argument has a valid value, i.e., is in a certain domain. E.g.,
{ foo : [true false]
, bar : ["a" "b" "c"]
}: ...
This previously could be done using assertions, but domain checks
will allow the buildfarm to automatically extract the configuration
space from functions.
2006-07-24 16:35:34 +00:00
Eelco Dolstra
b545c669a0
* Tests for domain checks.
2006-07-24 15:50:29 +00:00
Eelco Dolstra
57751fdb55
* Refactoring to support domain checks.
2006-07-24 15:16:03 +00:00
Eelco Dolstra
2b4b0658fa
* This expression has an undefined variable which isn't detected, so
...
evaluation fails:
error: impossible: undefined variable `gcc'
2006-07-10 17:35:00 +00:00
Eelco Dolstra
5cabd47394
* Allow function argument default values to refer to other arguments
...
of the function. Implements NIX-45.
2006-05-08 12:52:47 +00:00
Eelco Dolstra
ae55e79541
* More tests.
2006-05-02 11:20:55 +00:00
Eelco Dolstra
dca43ef795
* Tests for NIX-45.
2006-05-02 11:15:04 +00:00
Eelco Dolstra
0064599a27
* String interpolation. Expressions like
...
"--with-freetype2-library=" + freetype + "/lib"
can now be written as
"--with-freetype2-library=${freetype}/lib"
An arbitrary expression can be enclosed within ${...}, not just
identifiers.
* Escaping in string literals: \n, \r, \t interpreted as in C, any
other character following \ is interpreted as-is.
* Newlines are now allowed in string literals.
2006-05-01 14:01:47 +00:00
Eelco Dolstra
6cecad2be0
* Allow string concatenations involving derivations, e.g.,
...
configureFlags = "--with-freetype2-library="
+ freetype + "/lib";
2006-05-01 09:56:56 +00:00
Eelco Dolstra
fa95f4be3f
* More test coverage.
2006-03-01 16:26:13 +00:00
Eelco Dolstra
44409f52c1
* "Fix" the test, since we cannot feasibly support the intended semantics.
2005-11-17 11:58:22 +00:00
Eelco Dolstra
1f285cf556
* Scoping bug in `with'.
2005-11-04 14:50:33 +00:00
Eelco Dolstra
991a130b1e
* Added a list concatenation operator:
...
[1 2 3] ++ [4 5 6] => [1 2 3 4 5 6]
2005-07-25 15:05:34 +00:00
Eelco Dolstra
040140dd1c
* Added a primop `removeAttrs' to remove attributes from a set, e.g.,
...
`removeAttrs attrs ["x", "y"]' returns the set `attrs' with the
attributes named `x' and `y' removed. It is not an error for the
named attributes to be missing from the input set.
2005-05-18 17:19:21 +00:00
Eelco Dolstra
08df443618
* Check for duplicate attributes and formal parameters in Nix
...
expressions.
2005-03-10 11:33:46 +00:00
Eelco Dolstra
ed09821859
* Use atdiff' instead of
cmp' for checking test output.
...
* Don't use local file names in tests since they will produce
different parse trees depending on the current directory.
2004-10-27 13:12:58 +00:00
Eelco Dolstra
3277c9432a
* Bug fix in parsing of /* ... */ comments; due to longest match
...
regexp there could be only one such comment per file.
2004-10-27 13:00:31 +00:00
Eelco Dolstra
463e2817c5
* Remove ancient Fix tests.
...
* Add automated Nix expression language tests.
2004-10-27 12:41:53 +00:00