diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2003-11-19T11·35+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2003-11-19T11·35+0000 |
commit | ac68840e79ce74f05ee8b31bb1d528c98b9c7f76 (patch) | |
tree | 98e8251d0537197b1c3e53068529f1e5e3114fdc /src/libexpr/primops.hh | |
parent | 2be8b5917a8040fac72e7970e94bbb436e8c35d6 (diff) |
* Refactoring: put the Nix expression evaluator in its own library so
that it can be used by multiple programs.
Diffstat (limited to 'src/libexpr/primops.hh')
-rw-r--r-- | src/libexpr/primops.hh | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/libexpr/primops.hh b/src/libexpr/primops.hh new file mode 100644 index 000000000000..76d587afdb1e --- /dev/null +++ b/src/libexpr/primops.hh @@ -0,0 +1,34 @@ +#ifndef __PRIMOPS_H +#define __PRIMOPS_H + +#include "eval.hh" + + +/* Load and evaluate an expression from path specified by the + argument. */ +Expr primImport(EvalState & state, Expr arg); + +/* Construct (as a unobservable) side effect) a Nix derivation + expression that performs the derivation described by the argument + set. Returns the original set extended with the following + attributes: `outPath' containing the primary output path of the + derivation; `drvPath' containing the path of the Nix expression; + and `type' set to `derivation' to indicate that this is a + derivation. */ +Expr primDerivation(EvalState & state, Expr args); + +/* Return the base name of the given string, i.e., everything + following the last slash. */ +Expr primBaseNameOf(EvalState & state, Expr arg); + +/* Convert the argument (which can be a path or a uri) to a string. */ +Expr primToString(EvalState & state, Expr arg); + +/* Return the null value. */ +Expr primNull(EvalState & state); + +/* Determine whether the argument is the null value. */ +Expr primIsNull(EvalState & state, Expr arg); + + +#endif /* !__PRIMOPS_H */ |