From b6540e8d1874f50d873240654971ee0823c65e57 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Fri, 10 Jun 2022 23:07:06 +0000 Subject: [PATCH] n-dimensional nth --- kiss/src/kiss/SpecialForms.hx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/kiss/src/kiss/SpecialForms.hx b/kiss/src/kiss/SpecialForms.hx index 46a643bf..b8b46d6c 100644 --- a/kiss/src/kiss/SpecialForms.hx +++ b/kiss/src/kiss/SpecialForms.hx @@ -46,9 +46,13 @@ class SpecialForms { }; function arrayAccess(wholeExp:ReaderExp, args:Array, k:KissState) { - return EArray(k.convert(args[0]), k.convert(args[1])).withMacroPosOf(wholeExp); + var exp = k.convert(args[0]); + for (dimension in 1...args.length) { + exp = EArray(exp, k.convert(args[dimension])).withMacroPosOf(wholeExp); + } + return exp; }; - k.doc("nth", 2, 2, "(nth )"); + k.doc("nth", 2, null, "(nth )"); map["nth"] = (wholeExp:ReaderExp, args:Array, k:KissState) -> { arrayAccess(wholeExp, args, k); };