Stemmer – An English (Porter2) Stemming Implementation in Elixir
github.com
github.com
But I have to ask, why are we still using this approach, which has known inaccuracies and quirks (in English)? Its one virtue is compactness, which in the old days was more important than accuracy.
But it is fun, I'll grant you that.
This used to be considered a lot of memory to use. It's not anymore.
This leaves you with some edge cases (is "axes" the plural of "axis" or "axe"?), but it's much better than mixing up the words "universe" and "university".
snowball -> C -> NIF -> Elixir