Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Huge refactor to a more value based system, doing away with terminals. Also ↵ | Charlie Stanton | 2023-07-19 | 1 | -34/+133 |
| | | | | introduces unit testing | ||||
* | Improves RunTransducer by reusing state slices for states and newStates | Charlie Stanton | 2023-04-25 | 1 | -1/+4 |
| | |||||
* | Improves performance of pruneStates by modifying states in place | Charlie Stanton | 2023-04-25 | 1 | -5/+7 |
| | |||||
* | Refines storing and loading to use ids generated when the subex is compiled ↵ | Charlie Stanton | 2023-04-25 | 1 | -11/+38 |
| | | | | instead of the runes | ||||
* | Simplify the OutputStack, improves performance by simplifying from an ↵ | Charlie Stanton | 2023-04-24 | 1 | -25/+21 |
| | | | | interface to a single struct | ||||
* | Adds a check to end subex execution early if no viable branches remain | Charlie Stanton | 2023-04-24 | 1 | -0/+3 |
| | |||||
* | Remove redundant subex/main.main function | Charlie Stanton | 2023-04-24 | 1 | -49/+0 |
| | |||||
* | Changes the implementation of Atomise and Compound to no longer use goroutines | Charlie Stanton | 2023-04-21 | 1 | -4/+9 |
| | | | | This results in a massive performance boost, ~4x speedup | ||||
* | Changes the parsing API for subex to be more suitable to being part of a ↵ | Charlie Stanton | 2023-04-19 | 1 | -1/+6 |
| | | | | larger program | ||||
* | Replaces a few instances of SubexStates with pointers as they should be | Charlie Stanton | 2023-04-19 | 1 | -1/+1 |
| | | | | This potentially avoids bugs/errors and also improves the performance of pruning | ||||
* | Replaces the parent/child implementation for operators like store and sum ↵ | Charlie Stanton | 2023-04-19 | 1 | -13/+47 |
| | | | | | | | | | with an output stack Previously a store state was a parent of another state machine that it would run inside of itself in order to capture the output to be stored. This was limited as the greedyness of the child would not be transferred to the parent. The new implementation gives states more control over the output state and turns it into a stack. By pushing to the stack before the child and popping afterwards, all of the child's output can be retrieved while the child is very much part of the complete machine. | ||||
* | Adds casting strings to numbers in the sum operator | Charlie Stanton | 2023-04-19 | 1 | -1/+5 |
| | |||||
* | Creates functions for compounding atoms back into values in the walk module ↵ | Charlie Stanton | 2023-04-18 | 1 | -73/+19 |
| | | | | and uses them in subex/main | ||||
* | Renames TransducerOutput to OutputContent (and related types) and moves into ↵ | Charlie Stanton | 2023-03-05 | 1 | -23/+0 |
| | | | | main/subexstate.go | ||||
* | Changes the slot map so only runes can be used as slots | Charlie Stanton | 2023-03-05 | 1 | -6/+4 |
| | |||||
* | Renames walk.Datum to walk.Atom | Charlie Stanton | 2023-03-05 | 1 | -32/+34 |
| | |||||
* | Replace append with walk.ConcatData in many places to fix bug to do with ↵ | Charlie Stanton | 2023-02-26 | 1 | -2/+2 |
| | | | | | | 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 | -3/+60 |
| | |||||
* | Modify subex to take JSON split into "data" | Charlie Stanton | 2023-02-22 | 1 | -29/+60 |
| | | | | | | 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 | ||||
* | Introduces subex processing | Charlie Stanton | 2023-02-19 | 1 | -0/+114 |
Doesn't integrate it at all yet |