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.
This patch implements the chapter on functions.
Instead of using an interface
LoxCallable
and and anonymous instance for native functionsI opted for an enum with the variants
Native
andUser
. Native functions are defined with afunction pointer and user functions are implemented the same way
LoxFunction
s areimplemented in the book.
The biggest difference is that we use
Err
andResult
to jump back out of a call stack aswe don't have
Exception
s.