Match statement type checker and parsers fully working + additional changes focused on enhancing performance #53
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.
Alterações
Performance Enhancing
src\type_checker\functions now receive references instead of moved values, avoiding expensive and unnecessaryclone()HashMaps, which allows search inO(1)Arc<>pointer, a thread-safe reference-counting pointer that enables shared ownership of data on the heap. This enhances performance because.clone()inArcvariables is not a deep copy (it does't copy the values on the heap, instead, it increments the Arc reference counter), therefore, it's more efficient for non-static types. This may be exaggerated worry with performance and could be considered an alien in the project since it's only used in this case (if performance is vital, we could try to use this aproach in other cases, otherwise, we can just forget about all this)Match Statement
matchtype checker is done and testedmatchparser is done and testedOthers