Extract the type lattice into jolt.passes.types.lattice
types.clj was 852 lines mixing the pure structural-type algebra with the inference engine, checker, and driver. Move the lattice — scalar/struct/vec/set/ union types, join-t, depth-cap, shape, and the numeric/vector return-fn sets — into jolt.passes.types.lattice (no inference state, no requires). types.clj requires it; the engine is now ~720 lines. Compiled into the image before jolt.passes.types. Re-minted seed differs only by gensym label renumbering.
This commit is contained in:
parent
864af8ef7e
commit
99a41d17b9
3 changed files with 163 additions and 153 deletions
|
|
@ -94,6 +94,7 @@
|
|||
(cons "jolt.backend-scheme" "jolt-core/jolt/backend_scheme.clj")
|
||||
(cons "jolt.passes.fold" "jolt-core/jolt/passes/fold.clj")
|
||||
(cons "jolt.passes.inline" "jolt-core/jolt/passes/inline.clj")
|
||||
(cons "jolt.passes.types.lattice" "jolt-core/jolt/passes/types/lattice.clj")
|
||||
(cons "jolt.passes.types" "jolt-core/jolt/passes/types.clj")
|
||||
(cons "jolt.passes" "jolt-core/jolt/passes.clj")))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue