Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Completely rewrites the JSON parser to make more extensive use of slices and ↵ | Charlie Stanton | 2023-04-25 | 1 | -136/+316 |
| | | | | decrease the number mallocs | ||||
* | Separates JSON parsing code into its own file | Charlie Stanton | 2023-04-25 | 2 | -278/+285 |
| | |||||
* | Refactor Atom and Value code out of walk.go and into separate files | Charlie Stanton | 2023-04-25 | 3 | -174/+185 |
| | |||||
* | Make state.path immutable so it can be a reference instead of copied, ↵ | Charlie Stanton | 2023-04-25 | 1 | -11/+0 |
| | | | | improving performance | ||||
* | Now uses a buffered output for writing to improve performance | Charlie Stanton | 2023-04-25 | 1 | -19/+22 |
| | |||||
* | Improves performance of reading JSON strings | Charlie Stanton | 2023-04-24 | 1 | -42/+39 |
| | |||||
* | WalkItems are now made of Atoms instead of WalkValues, and I have rolled my ↵ | Charlie Stanton | 2023-04-24 | 1 | -246/+379 |
| | | | | | | own JSON parser and serialiser These changes improve performance | ||||
* | Replaces the interfaces implementation of Atom with a tagged union based ↵ | Charlie Stanton | 2023-04-21 | 1 | -35/+115 |
| | | | | implementation | ||||
* | Replace implementation of Atomise to improve performance | Charlie Stanton | 2023-04-21 | 1 | -16/+29 |
| | |||||
* | Improves performance by being more explicit about memory allocation in walk.go | Charlie Stanton | 2023-04-21 | 1 | -29/+32 |
| | |||||
* | Changes the implementation of Atomise and Compound to no longer use goroutines | Charlie Stanton | 2023-04-21 | 1 | -104/+63 |
| | | | | This results in a massive performance boost, ~4x speedup | ||||
* | Replaces the start and end terminals of strings with a single terminal, with ↵ | Charlie Stanton | 2023-04-20 | 1 | -15/+6 |
| | | | | " as a literal for it | ||||
* | Adds casting all other types to strings by simply putting them in a string | Charlie Stanton | 2023-04-19 | 1 | -0/+8 |
| | |||||
* | Replaces the workspace with 3 distinct registers: path, value and xreg | Charlie Stanton | 2023-04-19 | 1 | -0/+31 |
| | | | | | | workspace contained a list of WalkItems, pairs of paths and values. The new system can still hold a list of values but only one path, which is in itself a list of values. The X register is miscellaneous. All 3 hold a list of values (which are JSON tokens) | ||||
* | Adds a dummy method to atom so the compiler checks that only valid atoms are ↵ | Charlie Stanton | 2023-04-19 | 1 | -5/+21 |
| | | | | allowed | ||||
* | Adds casting strings to numbers in the sum operator | Charlie Stanton | 2023-04-19 | 1 | -18/+73 |
| | |||||
* | Creates functions for compounding atoms back into values in the walk module ↵ | Charlie Stanton | 2023-04-18 | 1 | -0/+79 |
| | | | | and uses them in subex/main | ||||
* | Fixes strings being wrapped in quotes twice when outputting | Charlie Stanton | 2023-03-15 | 1 | -2/+2 |
| | |||||
* | Renames walk.Datum to walk.Atom | Charlie Stanton | 2023-03-05 | 1 | -9/+9 |
| | |||||
* | Replace append with walk.ConcatData in many places to fix bug to do with ↵ | Charlie Stanton | 2023-02-26 | 1 | -0/+4 |
| | | | | | | semantics of append When doing append, be very careful as it does make changes in place to the underlying array of the slice which may affect other slices | ||||
* | Converts subex output back into WalkValues and prints for easier debugging | Charlie Stanton | 2023-02-26 | 1 | -0/+32 |
| | |||||
* | Modify subex to take JSON split into "data" | Charlie Stanton | 2023-02-22 | 1 | -2/+29 |
| | | | | | | Currently no way to reassemble the data on the other side Much of the potential data cannot be interacted with meaningfully, only the string functionality is implemented Should rename data to something else | ||||
* | Move JSON serialising, deserialising and walking code into a separate package | Charlie Stanton | 2023-02-19 | 1 | -0/+316 |