From d9e06eeabd4b5dd80e2f9a35cbb311584e14e42f Mon Sep 17 00:00:00 2001 From: bog Date: Sun, 24 Sep 2023 07:49:29 +0200 Subject: [PATCH] FIX: call function taken from an array. --- examples/array.fk | 5 ++++- src/Compiler.cpp | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/examples/array.fk b/examples/array.fk index 2c319e4..193eae0 100644 --- a/examples/array.fk +++ b/examples/array.fk @@ -14,4 +14,7 @@ ($ (produce) [2 4 6]) -(assert= 4 (second (produce))) \ No newline at end of file +(assert= 4 (second (produce))) + +($ arr [2 'bim' produce false]) +(assert= 6 (((arr 2)) 2)) \ No newline at end of file diff --git a/src/Compiler.cpp b/src/Compiler.cpp index a1dce74..9d40a7b 100644 --- a/src/Compiler.cpp +++ b/src/Compiler.cpp @@ -236,8 +236,10 @@ namespace fk entry && entry->is_global() == false) { if (entry->node() - && entry->node()->child(1)->type() != NODE_ARRAY) + && entry->node()->child(1)->type() != NODE_ARRAY + && entry->node()->type() != NODE_ARRAY) { + std::cout << "-> " << entry->node()->string() << std::endl; size_t arity = entry->node()->child(0)->size(); if (arity != node->size() - 1) {