Are there examples of IDE services deliberately leveraging elaborate type systems?
I'm struggling to think of what a richer type system enables in the IDE space. The existence of void* in C, interface{} in Go, or a lack of generics, doesn't seem to have limited possibilities.
miniblog.
Related Posts
@friend Ooh, that's a brilliant example! More fine grained types definitely allows you to offer a smaller, more relevant set of possibilities in completion.
My favourite programming model is single machine, single thread. It's so much easier to reason about when you have fewer failure possibilities.
https://www.msreverseengineering.com/blog/2018/2/26/concrete-and-abstract-interpretation-explained-through-chess uses chess to describe concrete and abstract interpretation: considering state spaces, approximating, and dealing with intractably large sets of possibilities!

