Most of the gradual type systems I've seen are targetting existing languages: you want to interact with existing libraries that don't have type annotations.
Are there many greenfield languages with gradual types? It's a useful technique in other cases, such as refactoring.
miniblog.
Related Posts
LLMs have been really helpful for me porting some JS projects to TS.
Since the types are erased and annotations are optional, I can go gradually and safely with more minimal human oversight.
(I'm not sure if it'll significantly help robustness, but it's lovely for navigation.)
I find myself using a "splatter then clean up" technique when working with code.
I add a ton of prints/logs/asserts/type annotations until I've found the issue. I then throw them all away!
It feels like redundant work, but I don't have a nicer solution.
PhpStorm shows annotations on method calls so you can see argument names. https://blog.jetbrains.com/phpstorm/2017/03/new-in-phpstorm-2017-1-parameter-hints/
The heuristic is really interesting: it only shows hints for literals and null! Presumably other values are considered to be more obvious.
