Skip to content

Separate jrsonnet-evaluator and stdlib implementation - #82

Closed
CertainLach wants to merge 45 commits into
masterfrom
split-stdlib
Closed

Separate jrsonnet-evaluator and stdlib implementation#82
CertainLach wants to merge 45 commits into
masterfrom
split-stdlib

Conversation

@CertainLach

Copy link
Copy Markdown
Member

No description provided.

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>
@CertainLach CertainLach added the enhancement New feature or request label Aug 7, 2022
@CertainLach CertainLach added this to the v0.5.0 milestone Aug 7, 2022
@JarvisCraft
JarvisCraft self-requested a review August 8, 2022 08:30

@JarvisCraft JarvisCraft left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basic build-related issue

Comment thread tests/src/lib.rs Outdated
Comment thread tests/Cargo.toml
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
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>

@JarvisCraft JarvisCraft left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, although there is a number of small fixes and a pack of typo/phrasing fixes.

Comment thread bindings/jsonnet/src/val_extract.rs Outdated
Comment thread bindings/jsonnet/src/val_extract.rs Outdated
Comment thread bindings/jsonnet/src/val_extract.rs Outdated
Comment thread bindings/jsonnet/src/val_extract.rs Outdated
Comment thread bindings/jsonnet/src/val_make.rs Outdated
Comment thread crates/jrsonnet-stdlib/src/math.rs Outdated
Comment thread crates/jrsonnet-stdlib/src/sort.rs Outdated
Comment thread crates/jrsonnet-stdlib/src/sort.rs Outdated
Comment thread crates/jrsonnet-stdlib/src/types.rs
Comment thread tests/src/lib.rs Outdated
@JarvisCraft
JarvisCraft self-requested a review September 15, 2022 11:16

@JarvisCraft JarvisCraft left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks good although there is a number of small fixes and enhancements

CertainLach and others added 8 commits September 18, 2022 10:24
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>
@CertainLach
CertainLach disabled auto-merge October 15, 2022 18:38
@CertainLach
CertainLach deleted the split-stdlib branch October 17, 2022 18:43
CertainLach added a commit that referenced this pull request Oct 17, 2022
 Separate jrsonnet-evaluator and stdlib implementation #82
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.

2 participants