isaac21259
Joined 8 years ago
Karma
554
Submissions
83
Member since
Oct 16
Joined 8 years ago
The reason they don't work well with recursion is you could have something like: false :: _|_ false = false
Where false is a function we are defining of the uninhabited type.
For more complicated versions stuff like this see Girard's paradox.
In terms of relying on tested and supported infrastructure lots of these projects use llvm.