You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In both these examples, I would expect max to be list:max, but instead it's math:max. I find that confusing, because math:max is not defined nor imported without the prefix in either module.
Both examples work as I'd expect (max resolving to math:max--EDIT: list:max, sorry!) if the order of imports is reversed.
What ArkScript version are you seeing the problem on?
4.7.2
Operating System
Linux
Compiler used
None
Compiler version used
No response
Relevant code & log output
ArityError: When calling `(math:max [1 2])', received 1 argument, but expected 2: `(math:max _a _b)'At IP: 597, PP: 0, SP: 3exit status 1
Documentation
I have read existing related documentation before submitting this report
I have searched for an existing issue before posting
I've started to work on that problem, which will require a rewrite of the name resolution pass. That might take some time and a lot of testing, I'm hoping that it should be done for the 4.8.0 or 4.9.0 if it's not breaking.
Basically, we resolve names with a very wacky algorithm, instead of having a list of direct and indirect imports available in each file. That leads to uncertainty in the algorithm deciding what the fully qualified name of a symbol is.
Activity
SuperFola commentedon Sep 9, 2026
Thanks for the report, it is indeed unexpected and annoying.
I've managed to reduce the samples to the following:
and another one that seems related:
I'll see what I can do about that.
SuperFola commentedon Sep 17, 2026
I've started to work on that problem, which will require a rewrite of the name resolution pass. That might take some time and a lot of testing, I'm hoping that it should be done for the 4.8.0 or 4.9.0 if it's not breaking.
Basically, we resolve names with a very wacky algorithm, instead of having a list of direct and indirect imports available in each file. That leads to uncertainty in the algorithm deciding what the fully qualified name of a symbol is.