diff options
author | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-24 21:18:01 +0000 |
---|---|---|
committer | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2022-01-24 21:18:01 +0000 |
commit | 468e0f6313fb620bd2f7ea469178fe02412ddc31 (patch) | |
tree | 7bec5259864136c98c9b3d7dbc972e1ab2be458f /operators.c | |
parent | 07fe0f96352967457d64ff349f4383c5568bcd42 (diff) |
Implement ⍺⍵⍶⍹ as get-set variables, which may make it easier to do TCO later.
Diffstat (limited to 'operators.c')
-rw-r--r-- | operators.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/operators.c b/operators.c index c46e627..8feda34 100644 --- a/operators.c +++ b/operators.c @@ -79,8 +79,13 @@ opSwitch(Datum *lefto, Array *left, Array *right) Array * opSelfReference1(Datum *lefto, Array *left, Array *right) { - throwerror(L"∆", ESyntax); - return nil; + DfnFrame *dfn = getcurrentdfn(); + if(dfn) + return rundfn(dfn->code, lefto, nil, left, right); + else{ + throwerror(nil, ESyntax); + return nil; + } } /* Dyadic operators */ @@ -174,6 +179,11 @@ opOver(Datum *lefto, Datum *righto, Array *left, Array *right) Array * opSelfReference2(Datum *lefto, Datum *righto, Array *left, Array *right) { - throwerror(L"⍙", ESyntax); - return nil; + DfnFrame *dfn = getcurrentdfn(); + if(dfn) + return rundfn(dfn->code, lefto, righto, left, right); + else{ + throwerror(nil, ESyntax); + return nil; + } }
\ No newline at end of file |