Skip to content

Rework dynamic functions - #8894

Draft
sovdeeth wants to merge 28 commits into
SkriptLang:dev/featurefrom
sovdeeth:feature/rework-dynamic-functions
Draft

sovdeeth wants to merge 28 commits into
SkriptLang:dev/featurefrom
sovdeeth:feature/rework-dynamic-functions

Conversation

@sovdeeth

@sovdeeth sovdeeth commented Oct 5, 2026

Copy link
Copy Markdown
Member

Problem

Dynamic functions have very limited argument resolution, no feedback on errors, don't support overloading, and struggle to verify arguments. They do not use the new function API and rely on deprecated api from before 2.14.

Solution

Significant rework to Executable and DynamicFunctionReference, introducing argument binding, spreading when given a single list, parse and runtime errors when binding fails, and general improvements. I will fill this section out more later.

Testing Completed

Many new tests added

Supporting Information


Completes: none
Related: none
AI assistance: Claude code was the primary driver of this change so far, doing the vast majority of the work and planning, only guided by my comments. I have not yet fully reviewed this code and as such have marked it as draft. I will be going through, verifying, possibly rewriting some things, and ensuring it's not all nonsense. The code I have reviewed has seemed solid and overall opus 5.5 has really impressed me.

@skriptlang-automation skriptlang-automation Bot added the needs triage An issue that hasn't been classified or verified yet label Oct 5, 2026
@skriptlang-automation

This comment has been minimized.

@skriptlang-automation skriptlang-automation Bot added bug An issue that needs to be fixed. Alternatively, a PR fixing an issue. enhancement Feature request, an issue about something that could be improved, or a PR improving something. and removed needs triage An issue that hasn't been classified or verified yet labels Oct 5, 2026
@sovdeeth

sovdeeth commented Oct 5, 2026

Copy link
Copy Markdown
Member Author

alright time to go through and fix all the ai design mistakes now

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug An issue that needs to be fixed. Alternatively, a PR fixing an issue. enhancement Feature request, an issue about something that could be improved, or a PR improving something.

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

1 participant