1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-29 23:13:14 +02:00

* Shorter list syntax ([a b c] instead of [a, b, c]).

This commit is contained in:
Eelco Dolstra 2003-11-03 11:59:35 +00:00
parent ad0976f8d5
commit e2655aa332
3 changed files with 15 additions and 8 deletions

View file

@ -4,8 +4,6 @@
ATerm bottomupRewrite(TermFun & f, ATerm e)
{
e = f(e);
if (ATgetType(e) == AT_APPL) {
AFun fun = ATgetAFun(e);
int arity = ATgetArity(fun);
@ -14,10 +12,10 @@ ATerm bottomupRewrite(TermFun & f, ATerm e)
for (int i = arity - 1; i >= 0; i--)
args = ATinsert(args, bottomupRewrite(f, ATgetArgument(e, i)));
return (ATerm) ATmakeApplList(fun, args);
e = (ATerm) ATmakeApplList(fun, args);
}
if (ATgetType(e) == AT_LIST) {
else if (ATgetType(e) == AT_LIST) {
ATermList in = (ATermList) e;
ATermList out = ATempty;
@ -26,10 +24,10 @@ ATerm bottomupRewrite(TermFun & f, ATerm e)
in = ATgetNext(in);
}
return (ATerm) ATreverse(out);
e = (ATerm) ATreverse(out);
}
return e;
return f(e);
}