New declosure impl
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
mod declosure;
|
||||
mod flatten;
|
||||
mod infer;
|
||||
mod libqjs;
|
||||
@@ -6,6 +7,7 @@ mod regify;
|
||||
use std::fs::File;
|
||||
use std::io::Read;
|
||||
|
||||
use declosure::declosure;
|
||||
use flatten::flatten;
|
||||
use infer::infer_types;
|
||||
use regify::regify;
|
||||
@@ -26,12 +28,8 @@ fn main() {
|
||||
let binary = libqjs::compile(&src, filename);
|
||||
|
||||
// Process it
|
||||
let (flat_fns, atoms) = flatten(binary);
|
||||
let (flat_fns, captures, atoms) = flatten(binary);
|
||||
let flat_fns = declosure(flat_fns, &captures);
|
||||
let reg_fns = regify(flat_fns);
|
||||
println!("{reg_fns:#?}");
|
||||
println!("{atoms:#?}");
|
||||
|
||||
let type_cache = infer_types(®_fns, &atoms);
|
||||
|
||||
println!("{type_cache:#?}");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user