HoldMyType<p><span class="h-card" translate="no"><a href="https://mathstodon.xyz/@rzeta0" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>rzeta0</span></a></span> <br>Ofc <br>Kleene–Rosser paradox demonstrates a contradiction in untyped <a href="https://mathstodon.xyz/tags/lambdacalculus" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>lambdacalculus</span></a>: it's possible to construct a lambda expression (like k = λ x . ( ¬ ( x x ) ) k=λx.(¬(xx))) so that when it's applied to itself, you get k k = ¬ ( k k ) kk=¬(kk)—which is a logical contradiction. This showed that untyped lambda calculus isn't suitable as a foundation for mathematical logic. That won't type check in <a href="https://mathstodon.xyz/tags/Haskell" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Haskell</span></a></p>