Source

Branch

1/ @NickChapmn

@VictorTaelin

y-combinators don’t have valid types, so you are safe from them in statically typed functional languages.

2/ @VictorTaelin

@NickChapmn

that’s absolutely false. you can construct the Y-Combinator and even λf.f(f) λf.f(f) in Haskell, Rust, TypeScript, and so on, even though these are statically typed functional language, through paradoxes like the ones I mentioned above. non-terminating languages are inconsistent

3/ @NickChapmn

@VictorTaelin

Ok they are invalid if you don’t allow recursive types

4/ @VictorTaelin

@NickChapmn

yes