Replies: 1 comment
-
Gradual typing is entirely up in the air right now. But my general plan, once I have parity with Clojure and the performance, portability, and usability is in a good state, is to dig into compiler optimizations which can be made by static analysis. People claim that Clojure can't do this, since it's such a dynamic language, BUT clj-kondo does it all the time. We all know the expected inputs to The follow-on question is: if clj-kondo is already doing it, why bother? Well, I'm not just interested in catching errors. I'm interested in optimizing code for scenarios when we have type info. If the compiler can know that So, at this point, I'm less focused on building a robust gradual type system specifically and more on the just building a smarter compiler which uses the information available to do a better job. My goal is for this to happen at zero additional cost. Clearly we've seen with Typed Clojure that annotating everything has a high cost. That's not what I'm thinking. Instead, the basis of my reasoning will be "How much can we do with absolutely zero cost?" I think the answer is "A lot more than Clojure is currently doing." Thanks for the interest! It'll be another year, at least, before I'm tackling these things, if I had to guess. I'm looking forward to it, though. |
Beta Was this translation helpful? Give feedback.
-
I am curious what you have planned in terms of gradual typing. I saw it mentioned on the homepage, but I haven't been able to find much more detail. Maybe it's still all up in the air, but even still, I'm curious how you are thinking about it.
Thanks for working on this project! 😄
Beta Was this translation helpful? Give feedback.
All reactions