Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate jrsonnet-evaluator and stdlib implementation #82 #84

Merged
merged 45 commits into from
Oct 17, 2022

Conversation

CertainLach
Copy link
Owner

Fixes: #83

Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
It had no practical use, because it was not comment-preserving
There is in-progress version based on rowan parser, however it shares
no code with current implementation

BREAKING CHANGE: It is no longer possible to build jrsonnet-fmt

Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
There was special support to refer to native functions for stdlib, as
otherwise `std.native` was not implementable.
However, now evaluator contains support for fancy builtins, and it is
possible to reimplement standard library without any parser magic.

BREAKING CHANGE: This syntax no longer works: $intrinsic(name),
$intrinsicId, $intrinsicThisFile

Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Implementation will be moved to jrsonnet-stdlib crate

BREAKING CHANGE: `State::with_stdlib` was removed

Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
New builtins system allows to split standard library to standalone crate

Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
When calling functions with wrong arguments, evaluator will now suggest
correct function signature

Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Helper for fancier building of user contexts

Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Previously `slice` method was only in `ArrayVal`, and for strings it
needed to be implemented manually

Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Deep cache only has sense in presence of standalone self, and most of
the time it only takes unnecessary space, and takes time to fill/rehash
the cache map.

Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
CertainLach and others added 15 commits August 28, 2022 01:33
For usage in new import resolvers, this change allows to use custom
types within importers, allowing to allow imports from internet

Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Co-authored-by: Petr Portnov | PROgrm_JARvis <gh@progrm-jarvis.ru>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
@JarvisCraft JarvisCraft self-requested a review October 15, 2022 18:55
@JarvisCraft JarvisCraft added the enhancement New feature or request label Oct 15, 2022
@JarvisCraft JarvisCraft added this to the v0.5.0 milestone Oct 15, 2022
@CertainLach CertainLach merged commit b8bef13 into master Oct 17, 2022
@CertainLach CertainLach deleted the split-stdlib branch October 17, 2022 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

jrsonnet-evaluator 0.4.2 EvaluationState::stringify_err panics with empty source code
2 participants