summaryrefslogtreecommitdiff
path: root/apl9.h
diff options
context:
space:
mode:
authorPeter Mikkelsen <petermikkelsen10@gmail.com>2022-01-24 21:18:01 +0000
committerPeter Mikkelsen <petermikkelsen10@gmail.com>2022-01-24 21:18:01 +0000
commit468e0f6313fb620bd2f7ea469178fe02412ddc31 (patch)
tree7bec5259864136c98c9b3d7dbc972e1ab2be458f /apl9.h
parent07fe0f96352967457d64ff349f4383c5568bcd42 (diff)
Implement ⍺⍵⍶⍹ as get-set variables, which may make it easier to do TCO later.
Diffstat (limited to 'apl9.h')
-rw-r--r--apl9.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/apl9.h b/apl9.h
index 092c8ce..b19c686 100644
--- a/apl9.h
+++ b/apl9.h
@@ -183,6 +183,10 @@ struct DfnFrame
{
Rune *code;
Symtab *symtab;
+ Datum *left;
+ Array *right;
+ Datum *lefto;
+ Datum *righto;
DfnFrame *prev;
};
@@ -226,7 +230,7 @@ Datum *eval(Statement *, int);
Symbol *getsym(Rune *, int);
void initsymtab(void);
DfnFrame *getcurrentdfn(void);
-DfnFrame *pushdfnframe(Rune *);
+DfnFrame *pushdfnframe(Rune *, Datum *, Datum *, Array *, Array *);
void popdfnframe(void);
vlong globalIO(void);
void globalIOset(vlong);
@@ -243,7 +247,7 @@ void incref(Array *);
/* functions.c */
Array *runfunc(Function, Array *,Array *);
-Array *rundfn(Rune *, Array *, Array *);
+Array *rundfn(Rune *, Datum *, Datum *, Array *, Array *);
Array *runtrain(Function *, int, Array *, Array *, Array *);
/* quadnames.c */