@lambdagrrl honestly, if Haskell allows me two write infinite types like 'S (S (S ...))' then why not infinite pattern matches?
This doesn't work because 'm' and 'S m' aren't equal, but they're also not NOT equal, so Haskell never gets past the first clause of IsConstPlus:
https://twitter.com/fancytypes/status/1369834087226216448?s=20
@douginamug This is both extremely cool and also just waiting for me to knock a bunch of glass jars to the ground with my clumsy ham hands.
Both Stephanie and Richard actually responded! In short, it's because Haskell let's you shoot yourself in the foot by writing non-terminating type families, but they didn't want to let that translate into letting you shoot yourself in the foot by writing segfaulting programs.
My favourite bit is actually that the paper starts with a HUGE disclaimer saying they're aware that inferring gender from first names is inaccurate and causes harm especially to marginalised groups, AND THEN THEY DO IT ANYWAY.
Shockingly, the software doesn't gender "Cyrridven" or "Kerewin" correctly. Can you IMAGINE?
I guess professionally my gender is andy, according to gender-guesser:
>>> import gender_guesser.detector as gender
>>> d = gender.Detector()
>>> d.get_gender("Wen")
andy
re: nudity, DeepNude
On a more serious note, this software doesn't work for pictures of me wearing anything more than swimwear, so I'm gonna continue to be more worried about the abuse of face-swapping networks rather than DeepNude networks.
@RaeHaskell@twitter.com @fancytypes@twitter.com Could you explain why this happens? Is this expected, or an implementation bug?
There's something wonky about closed type families!
If both arguments to 'Min' contain type variables, only the first rule is ever tried. The family below gives 'Min n n ~ n' but if we move the first rule down, it no longer computes!
https://gist.github.com/wenkokke/7ffe68c9c2dc06679d9e6f63d2bcad17