@user also i searched hoogle for Eq b => (a -> b) -> [a] -> [[a]] and didn't get any results in the base package; didn't actually know haskell had a groupBy :: (a -> a -> Bool) -> [a] -> [[a]] in Data.List :P
I guess part 2 will be the first implementation, part 3 will be the realization that it fails horribly, part 4 will be a long struggle to get it right, part 5 will be a compromise that falls short of our goals, and part 6 will be some sketchy tweaking to get the tests to pass
@emanresuA apart from the lists, I think I have an idea (or at least can formulate one once I have a few more examples of your idea in practice) of how to implement it
@lyxal Pretty much like any other expression, certain operators can do stuff to them and they can't be compiled into sympy. Syntax is [1, 2, [3, 4, 5]]
@Steffan That is quite a bit more complicated than what we need and not too performant
As Seggan said, ANTLR should work. It's relatively simple, will basically be a single thing for all implementations of Vyxal (which is actually important now), and should work on all platforms