Wed Jul 29 22:39:04 EDT 2020
Lua doesn't have pattern matching. However, it is possible to replace
pattern matchinging with generalized fold, where each alternative of
the sum type corresponds to a function.
Does that bring any notational convenience?
It would if every alternative is named. So represent a match as a
dictionary of case clauses, represented as n-ary functions, each named
after the constructor.
So for a cons list this would be:
nil = function() ... end
cons = function(car, cdr) ... end