This repository was archived by the owner on Oct 24, 2023. It is now read-only.
Conversation
Previously, `rest` was always defined and passed, even if the original call didn't supply enough arguments to reach `rest`. This poses some problems when you expect the length of `arguments` to match that of the original call to the variadic function, so now `rest` is only supplied if there are actual arguments to fill it up with. This means it'll be undefined otherwise, and `arguments` will be identical to the original call. Additionally, I changed `variadic` so that it'll correctly report `length` for the wrapped function, provided the wrapped function `length` is 26 or below. I'd be hard pressed to remember ever seeing a function with more than even 10 parameters, but still. This isn't an ideal solution of course, but probably hits home 99.99% of the time which is enough.
Eventually, there will be some standard metadata, possibly different for different types of objects. Likely, the only distinction will be made for functions, which may have useful metadata such as composition information or other things which could be useful when debugging.
Owner
Author
|
Some mildly interesting benchmarks available here: Main takeaway from this is that the map-based approach is probably the best from a performance vs. flexibility standpoint. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
An effort to implement a function constructor, possibly including multiple and/or predicate dispatch.