feat: add speciesist language checks#1490
Conversation
Adds social_awareness.speciesism with two check groups: - check_preferred_forms: flags idioms rooted in animal harm (26 phrases) - check_derogatory: flags animal comparisons used as insults (9 phrases) Follows the same structure as the existing sexism and lgbtq checks. Includes pass/fail examples in tests/examples.py. References: Dunayer (2001), Stibbe (2001), Bogueva & Marinova (2022).
| --- | ||
| layout: post | ||
| source: Dunayer, J. (2001). Animal Equality: Language and Liberation. | ||
| source_url: https://doi.org/10.1080/10350330109384726 |
There was a problem hiding this comment.
Perhaps it's just me, but the DOI provided here doesn't seem to work. I found an active one for the Cambridge University Press publication at https://doi.org/10.1017/S0962728600024489, or you may use any other archival links.
| source: Dunayer, J. (2001). Animal Equality: Language and Liberation. | ||
| source_url: https://doi.org/10.1080/10350330109384726 | ||
| title: speciesism | ||
| date: 2026-04-08 12:00:00 | ||
| categories: writing | ||
| --- | ||
|
|
||
| Points out speciesist idioms and animal comparisons used as insults, | ||
| and suggests clearer alternatives. |
There was a problem hiding this comment.
Your original PR used the correct citation format and had a much more elaborate explanation section. What was the reason for the change?
There was a problem hiding this comment.
Is there any chance you could address this while I obtain a copy of the source for review, please? Thank you :)
| "let the cat out of the bag": "reveal the secret", | ||
| "guinea pig": "test subject", | ||
| "the elephant in the room": "the obvious issue", | ||
| "dog-eat-dog": "cutthroat", |
There was a problem hiding this comment.
Are these all specific examples from the source itself? I can think of potentially better ways to say many of these, so if so, I'll need to investigate the source further.
| "fat as a pig": "overweight", | ||
| "sweating like a pig": "sweating heavily", | ||
| "slow as a snail": "extremely slow", | ||
| "memory like a goldfish": "very short memory", |
There was a problem hiding this comment.
In line with our other checks, we shouldn't recommend "very".
|
It occurs to me that we should consider adding the option to specify multiple sources in the headers cc: @drainpixie |
|
Thanks for the detailed feedback @Nytelife26! Pushed an update:
Let me know if anything else needs adjusting. |
|
My primary request is related to the check header. You appear to be using APA citation style, rather than MLA 9th Ed., and some of the fields are missing. You may refer to the verification section of the checks documentation for further details. Aside from that, while I agree with the validity of the recommendations here, the checks in Proselint are typically direct recommendations or direct applications of recommendations from prominent authors and writing bodies. If you know of any usage guides or terminology lists that specifically contain the entries used here, it would be good to link to them. I'm going to spend some time ensuring none of the entries conflict with our other sources and checks in other ways. Following that review, and the other changes I just mentioned, I will be happy to accept this. |
Resubmission of #1483 at @Nytelife26's invitation after the original fork was deleted.
Summary
Adds a
social_awareness.speciesismcheck module alongside the existingsexism,lgbtq, andnwordchecks. Two check groups:Changes
proselint/checks/social_awareness/speciesism.py— new check moduleproselint/checks/social_awareness/__init__.py— register the new moduletests/examples.py— pass/fail examplesWhy this fits proselint
Just as proselint flags sexist and homophobic language, speciesist idioms are worth flagging: they use animals as stand-ins for negativity or as objects of harm, which is imprecise writing on top of being exclusionary to a growing portion of readers.
References