These are chat archives for got-lambda/expression

Jan 2018
Jan 18 2018 22:43
So, anyone remember good old HeytingAlgebra? It turns out that it's pretty nice, because similarly to Monoid b => Monoid (a -> b) we have HeytingAlgebra b => HeytingAlgebra (a -> b). So you can write e.g. filter (not (Set.member foo)). There's no need for a special function, like complement in Clojure. It also works for (&&) and (||), so you can have not (Set.member foo || Set.member bar). I was reminded of this today, and I got reminded of @Jell's post where he pointed out that function monoid implication.