Skip to content

v0.0.1

Compare
Choose a tag to compare
@github-actions github-actions released this 17 Nov 21:18
· 165 commits to main since this release

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