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

Closed
wants to merge 45 commits into from

Commits on Jul 23, 2022

  1. doc: add patreon link

    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    277df8e View commit details
    Browse the repository at this point in the history
  2. ci: remove outdated build

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    d748c85 View commit details
    Browse the repository at this point in the history
  3. refactor!: remove outdated ast pretty-printer

    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>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    146d9d9 View commit details
    Browse the repository at this point in the history
  4. refactor(parser)!: remove intrinsic syntax

    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>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    5a21a2e View commit details
    Browse the repository at this point in the history
  5. feat(interner): make more functions const

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    34a152f View commit details
    Browse the repository at this point in the history
  6. refactor(evaluator)!: remove standard library

    Implementation will be moved to jrsonnet-stdlib crate
    
    BREAKING CHANGE: `State::with_stdlib` was removed
    
    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    ab6ba99 View commit details
    Browse the repository at this point in the history
  7. refactor(stdlib): implement as a standalone crate

    New builtins system allows to split standard library to standalone crate
    
    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    6d7ca68 View commit details
    Browse the repository at this point in the history
  8. fix(evaluator): unnamed_len conflict with unnamed_iter

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    907d6da View commit details
    Browse the repository at this point in the history
  9. feat(evaluator): function signature help

    When calling functions with wrong arguments, evaluator will now suggest
    correct function signature
    
    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    50ca1d2 View commit details
    Browse the repository at this point in the history
  10. style: apply clippy suggestions

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    06fa714 View commit details
    Browse the repository at this point in the history
  11. refactor(cli): move to split stdlib

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    dde7eda View commit details
    Browse the repository at this point in the history
  12. refactor(libjsonnet): move to split stdlib

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    41db4d5 View commit details
    Browse the repository at this point in the history
  13. feat: ContextBuilder

    Helper for fancier building of user contexts
    
    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    21a5131 View commit details
    Browse the repository at this point in the history
  14. feat(evaluator): IndexableMap::slice helper

    Previously `slice` method was only in `ArrayVal`, and for strings it
    needed to be implemented manually
    
    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    3ee61c4 View commit details
    Browse the repository at this point in the history
  15. build: regenerate lockfile

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    b797bad View commit details
    Browse the repository at this point in the history
  16. build: regenerate lockfile

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    593731d View commit details
    Browse the repository at this point in the history
  17. ci: remove outdated nix flake

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Jul 23, 2022
    Configuration menu
    Copy the full SHA
    cfd533f View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2022

  1. fix(cli): gc stats were always printed

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 5, 2022
    Configuration menu
    Copy the full SHA
    6eba9c3 View commit details
    Browse the repository at this point in the history
  2. fix(stdlib): std.trace should be lazy

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 5, 2022
    Configuration menu
    Copy the full SHA
    68c8ac0 View commit details
    Browse the repository at this point in the history
  3. refactor: keep source code alongside source path

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 5, 2022
    Configuration menu
    Copy the full SHA
    4ad9956 View commit details
    Browse the repository at this point in the history
  4. fix(parser): allow trailing comma before forspec in object

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 5, 2022
    Configuration menu
    Copy the full SHA
    673ea5e View commit details
    Browse the repository at this point in the history
  5. perf: only cache gets in top-level object

    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>
    CertainLach committed Aug 5, 2022
    Configuration menu
    Copy the full SHA
    b305ce3 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2022

  1. perf: reimplement AST codegen

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 7, 2022
    Configuration menu
    Copy the full SHA
    0831da3 View commit details
    Browse the repository at this point in the history
  2. perf: implement std.findSubstr in native

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 7, 2022
    Configuration menu
    Copy the full SHA
    f51b87e View commit details
    Browse the repository at this point in the history
  3. perf: remove allocation on empty string concat

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 7, 2022
    Configuration menu
    Copy the full SHA
    a586993 View commit details
    Browse the repository at this point in the history
  4. perf: implement std.{startsWith, endsWith} in native

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 7, 2022
    Configuration menu
    Copy the full SHA
    4c21363 View commit details
    Browse the repository at this point in the history
  5. test: update for split stdlib

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 7, 2022
    Configuration menu
    Copy the full SHA
    aa97bc0 View commit details
    Browse the repository at this point in the history
  6. style: fix clippy warnings

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 7, 2022
    Configuration menu
    Copy the full SHA
    f22b934 View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2022

  1. refactor: remove dummy lib.rs contents

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 27, 2022
    Configuration menu
    Copy the full SHA
    c479536 View commit details
    Browse the repository at this point in the history
  2. build: mark tests as no-publish

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 27, 2022
    Configuration menu
    Copy the full SHA
    3c7fc76 View commit details
    Browse the repository at this point in the history
  3. feat: custom SourcePath trait

    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>
    CertainLach committed Aug 27, 2022
    Configuration menu
    Copy the full SHA
    a7e60a9 View commit details
    Browse the repository at this point in the history
  4. feat(evaluator): custom source paths

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 27, 2022
    Configuration menu
    Copy the full SHA
    bf006f5 View commit details
    Browse the repository at this point in the history
  5. refactor(treewide): custom path support

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 27, 2022
    Configuration menu
    Copy the full SHA
    b4d71ec View commit details
    Browse the repository at this point in the history
  6. doc(libjsonnet): copy official documentation to doccomments

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 27, 2022
    Configuration menu
    Copy the full SHA
    921b990 View commit details
    Browse the repository at this point in the history
  7. build: regenerate lockfile

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 27, 2022
    Configuration menu
    Copy the full SHA
    3a6a304 View commit details
    Browse the repository at this point in the history
  8. fix: remove unnecessary reference

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 27, 2022
    Configuration menu
    Copy the full SHA
    a5bf806 View commit details
    Browse the repository at this point in the history
  9. style: fix trailing newline

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Aug 27, 2022
    Configuration menu
    Copy the full SHA
    f2fefaf View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2022

  1. refactor: trivial code review suggestions

    Co-authored-by: Petr Portnov | PROgrm_JARvis <gh@progrm-jarvis.ru>
    CertainLach and JarvisCraft committed Sep 18, 2022
    Configuration menu
    Copy the full SHA
    097494e View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2022

  1. fix: int rendering in format should operate floats

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Oct 11, 2022
    Configuration menu
    Copy the full SHA
    e8ba764 View commit details
    Browse the repository at this point in the history
  2. feat: impl ArgsLike for Vec<Val>

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Oct 11, 2022
    Configuration menu
    Copy the full SHA
    420d09a View commit details
    Browse the repository at this point in the history
  3. doc: builtin trait

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Oct 11, 2022
    Configuration menu
    Copy the full SHA
    1178a0b View commit details
    Browse the repository at this point in the history
  4. feat: allow unnamed builtin arguments

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Oct 11, 2022
    Configuration menu
    Copy the full SHA
    afca252 View commit details
    Browse the repository at this point in the history
  5. style: fix clippy warnings

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Oct 11, 2022
    Configuration menu
    Copy the full SHA
    70f3783 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2022

  1. doc: review issues

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Oct 15, 2022
    Configuration menu
    Copy the full SHA
    ff3e2c8 View commit details
    Browse the repository at this point in the history
  2. Merge remote-tracking branch 'origin/master' into split-stdlib

    Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
    CertainLach committed Oct 15, 2022
    Configuration menu
    Copy the full SHA
    c39582b View commit details
    Browse the repository at this point in the history