Releases: xrstf/rudi
Releases · xrstf/rudi
v0.0.10
v0.0.9
Changelog
- 34f6e49 add trim and contains?
- 54dcbaa add symbol-free aliases for math functions
- a1f7713 since the bang handling, all functions in Rudi are stateless
- ccdbca2 add picture
- 3dcc7b2 code cleanup
- aa91cc4 improve readme
- 45fc093 remove unused file
- 9cddf91 use a better icon
- 80a1a19 add make install
- 9d1e1b8 colorize JSON output in console
- b80dfdc fix example
- c276c46 fix typos
v0.0.8
v0.0.7
Changelog
v0.0.6
Changelog
- 6021ce7 extend readme
- 8163655 mention alternatives
- 91c7964 rename project to avoid name clash with the existing Otto JS interpreter
- 7c2d98e fix example in readme
- 167a8e9 add filter function
- 02fb444 move map/range to the lists section
- 726f6c4 for now i cba to figure out how sub modules can be go-installable
- 6078bab lower minimum Go version to 1.18
- 3a787fd fix lint issues
- 9ab59be add docs for +
- 4a06173 fix and document (has?)
v0.0.5
v0.0.4
v0.0.3
v0.0.2
Changelog
- deda901 fix typos
- ed7184a extend readme
- d1b0d63 use readline to make REPL more bearable
- feaf7c1 make code snippets available for parse errors
- 7f52b08 provide utility functions to make integration easier
- ce190f5 restructure packages a bit, make lang package smaller
- f5200cc add --debug-ast to script mode
- 50674ec cleanup
- 928d57b add --yaml and --pretty to script mode for nicer output control
- 1e35dcf add non-interactive (script) mode
- 9e2d4bd load multiple files in repl, assign to $files
- c0e7140 ignore goreleaser's dist directory
- faabdda simplify grammar and allow programs to consist of a series of any expression, as long as they are whitespace separated (e.g.
(+ 1 2) .
)
v0.0.1
Changelog
- ce5c368 add goreleaser
- 270ce92 fix context not being shared across repl invocations
- 5b1aa39 less verbose error message
- dc83e22 begin work on Otti, the Otto interpreter
- c0a01b6 make identifiers not evaluatable anymore so the error messages in the REPL make more sense
- 1d5505a basic unit tests for literal evaluation (aka the simple tests 😁)
- dce43fa add path expressions to objects, vectors and tuples
- d8bf7ed cleanup grammar a bit
- 3e3c440 improve debug package, begin to work on top-level expression support
- 0052bb1 begin docs
- 8ee7dcf cleanup
- e0afde6 add (now)
- f966ee5 add lt, gt, lte, gte
- bdda10f begin to work on loose, PHP-style equality; use question mark consistently on bool functions
- 7200369 make strict equality work for vectors and objects
- eec3c89 add (reverse)
- 9b1115e fix append and prepend functions
- 0139b52 more tests
- 264da71 add tests for hashing functions
- 3a27228 add tests for encoding functions
- 5d54c29 fix handling native types in variables (not yet sure if variables are always wrapped data)
- e1b4044 separate path computation and evaluation, add tests for (has?)
- c0b674f add tests for (empty?)
- fac7932 make evaluated vectors/objects be expressions, so the code can be simpler
- bf35523 minor cleanup
- ef8424f add (range)
- 01af00d fix (len) returning int instead of int64
- ee97626 naming
- 81f1387 make string functions easier to define
- b271fb8 remove coalescing everywhere except in to-* functions
- d3be8d7 add encoding, hashes, more string functions, type-of
- aa6c681 add type conversion funcs, but not sure yet about all details..
- e6f134c more tests, dedicated unfinished equality package with strict/loose equalities
- 6a07138 add tests for lists function, allow (len "string")
- 65a5518 time to get rid of this adhoc debugging line
- 1295013 add tests for logic functions
- df78cc2 unit tests for string functions
- 97ed532 fix division function, add tests for remaining math functions
- d17e1cf add tests for (+)
- 7f4756e flip logic: make builtin package call eval package, configure functions from the outside; all to allow the builtin function tests to use the eval package so we don't have to specifiy the AST manually in the tests
- d675232 add first unit tests for parser
- 49cff73 improve coalescing: handle native types again, as we cannot wrap all sub elements in vectors and objects without requiring all functions to call WrapNative() before To...()
- 50da06a fix PathExpression.String()
- 9d317a0 WIP get rid of explicit expression type, use a Node interface instead
- 769272a rename to Otto
- c22d8f7 make array accessors more powerful by allowing nearly all expressions
- 4a6fe35 only allow tuples as statements cause i can't figure out how to parse a single, standalone dot with whitspace around it
- cca4f97 add debug package to print the ast more easily
- 7755b1c separate path evaluation and path traversal
- 9237df3 allow a single . as a path expression
- 71eb113 use fewer structs for go-native types
- f79faa4 use custom types instead of go-native types
- 312500e prepare types for evaluated objects/vectors
- 7d1ea62 add NodeName()
- 6f4df81 defer arg evaluation in tuples to make the builtin functions more flexible, no need for extra-special tuple handlers
- 0f50c81 add (has PATH_EXPR) to check if a path exists in a document/variable
- 3be799d move identifier into expression, make object construction more flexible
- 158c885 add support for single-line comments
- 7499f81 clarify: [0] means "constuct array with 1 element: 0", .[0] means "access first element in the global doc"
- e09f398 add support for basic path traversal
- 5b3ddf6 begin working on the document editing aspect
- 480ec1f add (not BOOL)
- 0be15c3 fix number parsing
- 86a712b keep ints when possible
- 17a05dc revamp numbers and accessors (previously pathsteps)
- fa23625 add comparisons
- 40811ca add and/or functions
- 6ec2665 add (do ...) form to allow for imperative sub-programs
- 58b340d context handling
- 91f8b0f add other math funcs, concat, split, len
- 07416e6 make identifiers part of symbols again, let the eval package decide when it's valid
- f8b0484 hack in support for global variables (should use (set $var ...) instead of having dedicated def verb)
- b7f7c4c begin the most naive possible way to implement program evaluation
- e1b69e2 introduce dedicated statement type
- 0e39ae8 cleanup
- b1fc68f revamp how and where path expressions work
- e133c0d reorganize
- 408f226 add strings, numbers
- 104e8d1 backup