<- Back to shtanton's homepage
aboutsummaryrefslogtreecommitdiff
path: root/subex
Commit message (Collapse)AuthorAgeFilesLines
* Implement new number systemnumbersCharlie Stanton10 days8-357/+1138
|
* Add , subex syntax to make FullMerge commands easierHEADmainCharlie Stanton2024-05-023-0/+43
|
* Add iterating destructuresCharlie Stanton2024-04-272-109/+30
|
* Add substitute next commandsCharlie Stanton2024-04-211-1/+9
|
* Add merge commandCharlie Stanton2024-04-071-3/+18
|
* Change output subex internals to allow structuresCharlie Stanton2024-04-074-101/+177
| | | | Also add substitute register syntactic sugar
* Add " shorthand for string destructureCharlie Stanton2024-03-314-17/+114
|
* Add map destructureCharlie Stanton2024-03-305-0/+108
|
* Add array value destructureCharlie Stanton2024-03-305-35/+171
|
* Add none structures and allow mismatched destructuringCharlie Stanton2024-03-304-99/+278
|
* Add basic array manipulationCharlie Stanton2024-03-293-4/+129
|
* Completely remove the path spaceCharlie Stanton2024-03-299-890/+702
| | | | The new design uses deeply nested values in the value space instead.
* Adds an incredibly simple equality operatorCharlie Stanton2023-07-213-1/+32
|
* Reimplements inserting basic values using subexesCharlie Stanton2023-07-213-75/+105
|
* Fixes JSONWriter to work with implicit data structuresCharlie Stanton2023-07-211-0/+1
|
* Removes lots of old atom based code from walkCharlie Stanton2023-07-191-11/+0
|
* Huge refactor to a more value based system, doing away with terminals. Also ↵Charlie Stanton2023-07-199-507/+1254
| | | | introduces unit testing
* Update subex , literal to no longer include terminalsCharlie Stanton2023-04-262-7/+7
|
* Improves RunTransducer by reusing state slices for states and newStatesCharlie Stanton2023-04-251-1/+4
|
* Improves performance of pruneStates by modifying states in placeCharlie Stanton2023-04-251-5/+7
|
* Refines storing and loading to use ids generated when the subex is compiled ↵Charlie Stanton2023-04-254-67/+117
| | | | instead of the runes
* Simplify the OutputStack, improves performance by simplifying from an ↵Charlie Stanton2023-04-241-25/+21
| | | | interface to a single struct
* Adds a check to end subex execution early if no viable branches remainCharlie Stanton2023-04-241-0/+3
|
* Remove redundant subex/main.main functionCharlie Stanton2023-04-241-49/+0
|
* Replaces the interfaces implementation of Atom with a tagged union based ↵Charlie Stanton2023-04-214-47/+42
| | | | implementation
* Changes the implementation of Atomise and Compound to no longer use goroutinesCharlie Stanton2023-04-212-9/+14
| | | | This results in a massive performance boost, ~4x speedup
* Add :xyz: replacement syntax that removes whatever is before it and inserts ↵Charlie Stanton2023-04-213-5/+41
| | | | whatever is inside it
* Adds String methods to all SubexASTs for debugging purposesCharlie Stanton2023-04-211-0/+51
|
* Radically changes precedences so concatenation is now the strongestCharlie Stanton2023-04-211-13/+13
| | | | We'll see if this sticks
* Add ^xyz^ as a shorthand for ="xyz"= in subexCharlie Stanton2023-04-211-7/+18
|
* Add subex syntax to copy across booleans, numbers, strings and valuesCharlie Stanton2023-04-213-1/+137
|
* Properly exports all SubexASTsCharlie Stanton2023-04-202-59/+59
|
* Add ~xyz~ shorthand for =`xyz`=Charlie Stanton2023-04-201-1/+10
|
* Fix bug that would crash if given an empty subexCharlie Stanton2023-04-201-1/+5
|
* Remove the @, ~ and # syntax for terminal literalsCharlie Stanton2023-04-201-30/+0
|
* Replaces the start and end terminals of strings with a single terminal, with ↵Charlie Stanton2023-04-201-1/+11
| | | | " as a literal for it
* Change output syntax to =xyz= instead of "xyz"Charlie Stanton2023-04-201-3/+3
| | | | This frees up " to be used for a string terminal literal
* Adds non-string literal syntax to subexCharlie Stanton2023-04-202-0/+89
|
* Adds parsing substitute commands, though executing them currently does nothingCharlie Stanton2023-04-191-0/+8
|
* Changes the parsing API for subex to be more suitable to being part of a ↵Charlie Stanton2023-04-193-54/+60
| | | | larger program
* Adds a dummy method to atom so the compiler checks that only valid atoms are ↵Charlie Stanton2023-04-191-6/+6
| | | | allowed
* Adds the NOT operatorCharlie Stanton2023-04-193-0/+41
|
* Adds the reciprocal operatorCharlie Stanton2023-04-193-0/+51
|
* Fixes internal error messages for arithmetic functionsCharlie Stanton2023-04-191-4/+4
|
* Adds the negate operatorCharlie Stanton2023-04-193-0/+49
| | | | Negates all of the numbers produced by its content subex
* Combines sum and product into an arithmetic state that contains a function ↵Charlie Stanton2023-04-193-115/+101
| | | | | | for it's operation Creates arithmetic.go which will house all of these functions
* Adds product/and operatorCharlie Stanton2023-04-193-22/+87
|
* Adjusts the sum operator to act as boolean OR when all inputs are booleansCharlie Stanton2023-04-191-5/+15
|
* Replaces a few instances of SubexStates with pointers as they should beCharlie Stanton2023-04-192-2/+2
| | | | This potentially avoids bugs/errors and also improves the performance of pruning
* Changes parser so the storing operator is postfix instead of prefixCharlie Stanton2023-04-191-14/+10
|