Cool project. I've been collecting a list of automated tools for editing [1], which originated at Bell Labs with The Unix Writer's Workbench [2]. Rather than start from scratch, if you want to stick with JavaScript you might consider contributing to Titus Wormer's ReText [3]. Otherwise, we'd love for you to join us in building the Python-based Proselint [4].
> Calling someone from Manchester a "Manchesterian" instead of "Mancunian" is not wrong, or even necessarily bad. Rather, it communicates something to the reader. Depending on the context, it could mean this person doesn't know that the correct term is "Mancunian", and did not look it up or even know that it should be looked up, all of which gives me useful info and context about the writer and their education level and the amount of effort they put into the piece and the amount of editing it underwent and so on. At the very least I can surmise that the writer is not a Mancunian. Or, it could mean that the writer is attempting to be clever.
If the only goal of writing were to allow accurate assessment of the writer, then I would agree. But there are other reasons for writing — informing, persuading, clarifying, &c. — where writing clear, consistent, and idiomatic prose can help. Yours is a condemnation at all attempts to improve writing beyond the first-draft capabilities of the author.
> The way to improve genuinely bad writing is not with rules and tools -- it's with lots of reading, a little mentorship, and lots and lots and lots of practice.
Agreed, Proselint is not the right tool to improve genuinely bad writing. Reading great authors and sweating through drafts is what we'd recommend to get better at the craft, too.
In some sense, it's a mark of success for an AI system to fail in the same way that humans do. "The old man the boat" is a terrible sentence, essentially ungrammatical.
1. https://github.com/amperser/proselint/blob/master/research/c...
2. https://www.princeton.edu/~hos/frs122/unixhist/text.htm
3. https://github.com/wooorm/retext/blob/master/doc/plugins.md
4. https://github.com/amperser/proselint