Sun Feb 9 19:14:51 EST 2020
Lisp-style pattern matcher
I've been using s-expressions (SE) for many things. They are terribly
convenient since the parser is almost trivial.
I'm mapping SE to (Free [String]).
What I miss, is straightforward structural matching. The Free/Pure
constructors are clumsy to use for direct matching, but it might be
possible to define some fold-style matchers.
EDIT: yea not now
The underlying problem is that the s-expression space is very large,
and I want to match a very specific subset. So maybe it's best to use
the Either monad.
Or... use the path represenation. That is much easier to match.