3 ms·
Can you explain the type checking a bit more? Is this occurring within the JIT for compilation efficacy or is the goal here that you would get gradual type infe
by ordinaryradical 4y ago
Can you explain the type checking a bit more? Is this occurring within the JIT for compilation efficacy or is the goal here that you would get gradual type inference across a codebase facilitated by some kind of LSP?
- Jeaye 4y agoType checking gets wonky in the REPL world, since things are changing a lot. During JIT usage (i.e. REPL usage or running a program right from source), type checking happens for each new form, taking into account what it knows of the types so far. In this context, some things, such as redefining vars, don't retroactively type check all previous usages of the var. So that sort of analysis is disabled. During AOT compilation, though, jank does whole program analysis and uses the type information to box/unbox, monomorphize, compute at compile-time, etc. I'll be publishing documentation on each of these designs (the type system, the JIT, the interop support) on the website as things move forward. Stay tuned. :)