summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apl9.h1
-rw-r--r--functions.c8
2 files changed, 8 insertions, 1 deletions
diff --git a/apl9.h b/apl9.h
index de7519f..8be337c 100644
--- a/apl9.h
+++ b/apl9.h
@@ -286,6 +286,7 @@ Array *fnNand(Array *, Array *);
Array *fnNor(Array *, Array *);
Array *fnTake(Array *, Array *);
Array *fnIndex(Array *, Array *);
+Array *fnCatenateLast(Array *, Array *);
Array *fnCatenateFirst(Array *, Array *);
Array *fnReshape(Array *, Array *);
diff --git a/functions.c b/functions.c
index f2b0d83..09e4917 100644
--- a/functions.c
+++ b/functions.c
@@ -106,7 +106,7 @@ fndyad dyadfunctiondefs[] = {
0, /* ∪ */
0, /* ∩ */
0, /* ~ */
- 0, /* , */
+ fnCatenateLast, /* , */
fnCatenateFirst, /* ⍪ */
fnReshape, /* ⍴ */
0, /* ⌽ */
@@ -1034,6 +1034,12 @@ fnIndex(Array *left, Array *right)
}
Array *
+fnCatenateLast(Array *left, Array *right)
+{
+ return rundfn(L"⍉(⍉⍺)⍪⍉⍵", left, right);
+}
+
+Array *
fnCatenateFirst(Array *left, Array *right)
{
Array *leftarr = nil;