* Primops: baseNameOf, toString.
This commit is contained in:
parent
c8268ca991
commit
adf9a45469
4 changed files with 30 additions and 4 deletions
|
|
@ -204,3 +204,22 @@ Expr primDerivation(EvalState & state, Expr args)
|
|||
|
||||
return makeAttrs(attrs);
|
||||
}
|
||||
|
||||
|
||||
Expr primBaseNameOf(EvalState & state, Expr arg)
|
||||
{
|
||||
string s = evalString(state, arg);
|
||||
return ATmake("Str(<str>)", baseNameOf(s).c_str());
|
||||
}
|
||||
|
||||
|
||||
Expr primToString(EvalState & state, Expr arg)
|
||||
{
|
||||
arg = evalExpr(state, arg);
|
||||
char * s;
|
||||
if (ATmatch(arg, "Str(<str>)", &s) ||
|
||||
ATmatch(arg, "Path(<str>)", &s) ||
|
||||
ATmatch(arg, "Uri(<str>)", &s))
|
||||
return ATmake("Str(<str>)", s);
|
||||
else throw badTerm("cannot coerce to string", arg);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue