From 9d706f2e600dfd164c06fed16e4d4459b155fc9a Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Tue, 30 Nov 2021 12:44:27 -0700 Subject: [PATCH] (isListExp) predicate --- kiss/src/kiss/Kiss.hx | 3 ++- kiss/src/kiss/Prelude.hx | 11 ++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/kiss/src/kiss/Kiss.hx b/kiss/src/kiss/Kiss.hx index 67f15238..eb33e1de 100644 --- a/kiss/src/kiss/Kiss.hx +++ b/kiss/src/kiss/Kiss.hx @@ -111,7 +111,8 @@ class Kiss { "zipThrow" => Symbol("Prelude.zipThrow"), "joinPath" => Symbol("Prelude.joinPath"), "readDirectory" => Symbol("Prelude.readDirectory"), - "substr" => Symbol("Prelude.substr") + "substr" => Symbol("Prelude.substr"), + "isListExp" => Symbol("Prelude.isListExp") ], fieldList: [], fieldDict: new Map(), diff --git a/kiss/src/kiss/Prelude.hx b/kiss/src/kiss/Prelude.hx index 88682f5a..de58227b 100644 --- a/kiss/src/kiss/Prelude.hx +++ b/kiss/src/kiss/Prelude.hx @@ -420,7 +420,16 @@ class Prelude { case ListExp(exps): exps; default: throw 'expected $s to be a list expression'; - } + }; + } + + public static function isListExp(s:ReaderExp):Bool { + return switch (s.def) { + case ListExp(exps): + true; + default: + false; + }; } #if sys