Here is my super dumb implementation. Doesn't handle multibyte, doesn't handle stdin -- but I don't think the Haskell version did either, so I don't have a problem with that limit.
https://github.com/ojhunt/wc
It's the simplest thing that could obviously work, but its generally not tested beyond the most basic versions.