Eelco Dolstra
fc92244ba8
* Implemented the primops necessary for generating the NixOS manual.
2010-04-07 13:55:46 +00:00
Eelco Dolstra
a353aef0b1
* In eval(), don't use the target value `v' as a temporary.
...
Overwriting `v' breaks when the expression evaluation to an
assertion failure or throw.
2010-04-06 14:15:29 +00:00
Eelco Dolstra
a5ece7d016
* Removed the `~' operator.
2010-04-01 16:59:07 +00:00
Eelco Dolstra
c172274e17
* Quick hack to make coerceToString work more or less correctly on
...
nested lists. `nix-instantiate' can now evaluate the NixOS system
derivation attribute correctly (in 2.1s on my laptop vs. 6.2s for
the trunk).
2010-04-01 14:35:03 +00:00
Eelco Dolstra
7b851915bf
* Improve sharing.
2010-04-01 12:04:57 +00:00
Eelco Dolstra
95cc417d76
* Functions are incomparable.
2010-04-01 10:55:36 +00:00
Eelco Dolstra
71f026292b
* Make `derivation' lazy again for performance. It also turns out
...
that there are some places in Nixpkgs (php_configurable /
composableDerivation, it seems) that call `derivation' with
incorrect arguments (namely, the `name' attribute missing) but get
away with it because of laziness.
2010-04-01 09:55:57 +00:00
Eelco Dolstra
dc31305b38
* Fixed the trace primop and path comparison.
...
* Removed exprToString and stringToExpr because there is no ATerm
representation to work on anymore (and exposing the internals of the
evaluator like this is not a good idea anyway).
2010-03-31 20:09:20 +00:00
Eelco Dolstra
979f163615
* Handle string contexts. `nix-instantiate' can now correctly compute
...
the `firefoxWrapper' attribute in Nixpkgs, and it's about 3 times
faster than the trunk :-)
2010-03-31 19:52:29 +00:00
Eelco Dolstra
d8cd3115d8
* Get nix-env to compile.
2010-03-31 19:12:08 +00:00
Eelco Dolstra
55e207b2dc
* Cache parse trees to prevent repeated parsing of imported Nix
...
expressions.
2010-03-31 16:14:32 +00:00
Eelco Dolstra
3d94be61ea
* Implemented derivations.
2010-03-31 15:38:03 +00:00
Eelco Dolstra
5187678913
2010-03-31 15:14:23 +00:00
Eelco Dolstra
f061086a93
* Fix the broken test for listToAttrs.
2010-03-31 13:35:29 +00:00
Eelco Dolstra
13c2adc897
* Implemented `rec { inherit ...; }'.
2010-03-31 11:05:39 +00:00
Eelco Dolstra
4c53ca2692
* Compare nulls.
2010-03-31 09:54:12 +00:00
Eelco Dolstra
7f19e03c65
* More primops.
2010-03-30 22:39:48 +00:00
Eelco Dolstra
47df476daa
* More operators / primops.
2010-03-30 18:05:54 +00:00
Eelco Dolstra
c9170be2bd
* More primops.
2010-03-30 15:18:20 +00:00
Eelco Dolstra
c3aa615a5f
* More primops.
2010-03-30 14:39:27 +00:00
Eelco Dolstra
5b72d8a749
* Implemented `map'.
2010-03-30 13:47:59 +00:00
Eelco Dolstra
d78a05ab40
* Make `import' work.
2010-03-30 09:22:33 +00:00
Eelco Dolstra
31428c3a06
* Started integrating the new evaluator.
2010-03-29 14:37:56 +00:00
Eelco Dolstra
52090d2418
2010-03-29 10:13:51 +00:00
Eelco Dolstra
e3f32ac5af
2010-03-29 09:43:55 +00:00
Eelco Dolstra
807a67bc74
2010-03-29 09:43:39 +00:00
Eelco Dolstra
392811eb8f
* Strings.
2010-03-28 18:27:07 +00:00
Eelco Dolstra
d96cdcea6b
2010-03-28 16:57:16 +00:00
Eelco Dolstra
3d2b835f30
* Implemented multi-argument primops.
2010-03-28 16:37:39 +00:00
Eelco Dolstra
45d822f29c
* Primops (not yet finished).
2010-03-26 15:45:53 +00:00
Eelco Dolstra
cad8726b2c
* Implemented the ==' and
!=' operators. These now use a deep
...
equality test, so they also work for (finite) attribute sets and
lists.
2010-03-26 13:27:26 +00:00
Eelco Dolstra
8da118e4d0
* Measure stack usage.
2010-03-25 16:35:24 +00:00
Eelco Dolstra
c2ba4313fb
* Implemented lists.
2010-03-25 15:38:37 +00:00
Eelco Dolstra
25eedf085d
* Quick and dirty implementation of with'.
with e1; e2' is
...
basically desugared to `let <with> = e1; e2', and `lookupVar' looks
in each <with> in the environment chain for an attribute with the
specified name.
2010-03-25 14:51:04 +00:00
Eelco Dolstra
3c9f8fc9b6
* Don't convert variable names to strings.
2010-03-25 13:10:04 +00:00
Eelco Dolstra
f450384ded
* Implement blackholing.
2010-03-25 12:51:14 +00:00
Eelco Dolstra
ef8bd919fc
* Implement `...' and default function arguments.
2010-03-25 12:45:23 +00:00
Eelco Dolstra
8a10360c91
* Simplify @-patterns: only {attrs}@name' or
name@{attrs}' are now
...
allowed. So `name1@name2', `{attrs1}@{attrs2}' and so on are now no
longer legal. This is no big loss because they were not useful
anyway.
This also changes the output of builtins.toXML for @-patterns
slightly.
2010-03-25 12:19:41 +00:00
Eelco Dolstra
7482349fe8
* Implemented attribute set pattern matches.
2010-03-24 23:40:00 +00:00
Eelco Dolstra
0fd3648d34
* Store values in environments.
2010-03-24 12:41:08 +00:00
Eelco Dolstra
b70bd8fe56
* Reduce the number of value allocations in eval() by moving
...
responsibility for allocation of the result to the caller.
2010-03-24 12:11:38 +00:00
Eelco Dolstra
d31c59eb17
* Plain lambdas.
2010-03-24 11:06:05 +00:00
Eelco Dolstra
e8f7978274
2010-03-23 19:19:52 +00:00
Eelco Dolstra
0910ae9568
* Start of an evaluator that uses call-by-need (with thunk updating)
...
instead of (memoised) call-by-name.
2010-03-23 17:30:50 +00:00
Eelco Dolstra
90039e0863
* Branch for experimenting with faster / less memory-hungry
...
Nix expression evaluation.
2010-03-23 15:09:29 +00:00
Eelco Dolstra
71be50cc25
* Doh.
2010-03-23 14:51:32 +00:00
Eelco Dolstra
3bfd3a4e95
* Test "with as; with bs;" since nobody knows what its semantics is.
2010-03-23 14:26:27 +00:00
Eelco Dolstra
141294ff38
* Clean up error messages in killUser().
2010-03-19 11:36:34 +00:00
Eelco Dolstra
74299c1cfb
* Bump version number.
2010-03-17 12:12:45 +00:00
Eelco Dolstra
c4cfb392d3
2010-03-17 10:08:34 +00:00