diff options
author | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-20 22:53:30 +0000 |
---|---|---|
committer | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-20 22:53:30 +0000 |
commit | b63ca926df347798ea113d7b197192bd28399f5a (patch) | |
tree | 18f4161678fe0d7239e4ebb735ab76cdb24745dd /apl9.h | |
parent | 35f20421e7a4942b61c4a1910e8da0bf35f21fd9 (diff) |
Implement guards, and start work on ↑ and ↓
Diffstat (limited to 'apl9.h')
-rw-r--r-- | apl9.h | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -12,8 +12,6 @@ typedef enum BoundFunctionTag, /* Function with left arg bound */ LParTag, RParTag, - LBracketTag, - RBracketTag, ArrowTag, AssignmentTag, NameTag, @@ -70,6 +68,7 @@ struct Statement { int ntoks; Datum *toks; + Statement *guard; Statement *next; }; @@ -170,6 +169,7 @@ int commontype(Array *, Array *, Array **, Array **, int); Array *arrayitem(Array *, int); Array *simplifyarray(Array *); int comparearray(Array *, Array *, int); +Array *fillelement(Array *); /* eval.c */ Datum *eval(Statement *); @@ -189,6 +189,7 @@ void incref(Array *); /* functions.c */ Array *runfunc(Function, Array *,Array *); +Array *rundfn(Rune *, Array *, Array *); /* quadnames.c */ Datum quadnamedatum(QuadnameDef); @@ -196,6 +197,8 @@ Datum quadnamedatum(QuadnameDef); /* Monadic functions from function.c */ Array *fnSame(Array *); Array *fnTally(Array *); +Array *fnMix(Array *); +Array *fnSplit(Array *); Array *fnEnclose(Array *); Array *fnNest(Array *); Array *fnGradeUp(Array *); @@ -218,6 +221,7 @@ Array *fnLogarithm(Array *, Array *); Array *fnLeft(Array *, Array *); Array *fnRight(Array *, Array *); Array *fnMatch(Array *, Array *); +Array *fnTake(Array *, Array *); Array *fnIndex(Array *, Array *); Array *fnCatenateFirst(Array *, Array *); Array *fnReshape(Array *, Array *); |