From b63ca926df347798ea113d7b197192bd28399f5a Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Thu, 20 Jan 2022 22:53:30 +0000 Subject: =?UTF-8?q?Implement=20guards,=20and=20start=20work=20on=20?= =?UTF-8?q?=E2=86=91=20and=20=E2=86=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apl9.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'apl9.h') diff --git a/apl9.h b/apl9.h index 24ddc01..d86d659 100644 --- a/apl9.h +++ b/apl9.h @@ -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 *); -- cgit v1.2.3