Releases
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
You can’t perform that action at this time.